zoukankan      html  css  js  c++  java
  • double 与0比较时有个精度问题,有时需精确到小数点后面几位,例如与>0.0001,而不能与>0比较

    double 与0比较时有个精度问题,有时需精确到小数点后面几位,例如与>0.0001,而不能与>0比较


    例如杭电1408
    盐水的故事
    ac
    #include<iostream>
    using namespace std;
    int main()
    {
        double vul,d;
        int sum;
        int n;
        while(cin>>vul>>d)
        {
            sum=0;
            n=1;
            while(vul>d*n)
            {
                sum=sum+n+1;
                vul=vul-d*n;
                n++;
            }
            while(vul>0.001)//此处最小精度得>0.001,不能为while(vul>0)
            {
                vul=vul-d;
                sum++;
            }
            cout<<sum<<endl;
        }    
     return 0;
    }
    盐水的故事
    ac
    #include<iostream>
    using namespace std;
    int main()
    {
        double vul,d;
        int sum;
        int n;
        while(cin>>vul>>d)
        {
            sum=0;
            n=1;
            while(vul>d*n)
            {
                sum=sum+n+1;
                vul=vul-d*n;
                n++;
            }
      int k=vul/d;
            sum=sum+k;
            if((vul/d)-k < 0.000001) ;
            else 
                sum=sum+1;
            /*while(vul>0)
            {
                vul=vul-d;
                sum++;
            }*/
            cout<<sum<<endl;
        }    
     return 0;
    }

  • 相关阅读:
    Linux
    C/C++ 引入头文件时 #include<***.h> 与 #include"***.h" 区别
    2018.01.10
    java 选择结构if
    引用数据类型 Scanner Random
    java 运算符
    java变量和数据类型
    Java se基础
    数据库设计
    MySQL 其他基础知识
  • 原文地址:https://www.cnblogs.com/gongpixin/p/4477489.html
Copyright © 2011-2022 走看看