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;
    }

  • 相关阅读:
    插入排序
    2019何凯文五夜十篇
    文件
    结构体数组表示
    位运算应用
    条件编译 预处理命令
    文件包含
    带参宏定义
    宏定义有无参数宏定义和带参数宏定义两种
    phpcms v9网站搬家更换域名的方法
  • 原文地址:https://www.cnblogs.com/gongpixin/p/4477489.html
Copyright © 2011-2022 走看看