zoukankan      html  css  js  c++  java
  • keys

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






    2.




    double与long long哪个更大?





    float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;


    double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。


    float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;


    double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。


    long long :-922337203685775808~922337203685775807     共18位,









  • 相关阅读:
    浅谈均值、方差、标准差、协方差的概念及意义
    数据库设计的基本步骤
    VS添加lib库
    Android activity_main.xml删除边缘距离,充满屏幕
    Android 设置旋转朝向
    WebStorm注册码
    VS禁止特定警告
    VS 高亮显示不带后缀的C++头文件
    VS2010设置C++包含目录和库目录
    读取STL模型
  • 原文地址:https://www.cnblogs.com/gongpixin/p/4477503.html
Copyright © 2011-2022 走看看