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

  • 相关阅读:
    Android防止按钮连续点击
    Android中的AlertDialog遇到的错误
    android通过Jni加载so库遇到UnsatisfiedLinkError问题!!!
    接口回调
    Android中的APinner2
    AndroidAPI
    Android中的下拉列表
    学习地址
    2018/12/21:Date类
    2018/12.21:找出数组最大项和最小项。
  • 原文地址:https://www.cnblogs.com/gongpixin/p/4477489.html
Copyright © 2011-2022 走看看