• int和longlong的范围


    unsigned   int     0~4294967295   (10位数,4e9)

    int                        -2147483648~2147483647  (10位数,2e9   2^31 - 1)   

    long long:           -9223372036854775808~9223372036854775807  (19位数, 9e18 ) 2^63 - 1

    unsigned long long:0~18446744073709551615  (20位数,1e19)  2^64 - 1

    int的范围是:-2147483648---2147483647 (10位)

    long和int没有区别

    long long的范围是:-9223372036854775808---9223372036854775807 (19位)

    double的范围是:-1.79769e+308---1.79769e+308//超过20位之后用科学记数法即可

    long double的范围是:-1.18973e+4932---1.18973e+4932

     例题:

    问题 1831: [蓝桥杯][2015年第六届真题]机器人繁殖(数学公式推导题)

    时间限制: 1Sec 内存限制: 128MB 提交: 409 解决: 76

    题目描述
    X星系的机器人可以自动复制自己。它们用1年的时间可以复制出2个自己,然后就失去复制能力。
    每年X星系都会选出1个新出生的机器人发往太空。也就是说,如果X星系原有机器人5个,
    1年后总数是:5 + 9 = 14
    2年后总数是:5 + 9 + 17 = 31

    如果已经探测经过n年后的机器人总数s,你能算出最初有多少机器人吗?
    输入
    输入一行两个数字n和s,用空格分开,含义如上。n不大于100,s位数不超过50位。
    输出
    要求输出一行,一个整数,表示最初有机器人多少个。
     
    样例输入
    2 31
    样例输出
    5
    #include<iostream>
    #include<cmath>
    using namespace std;
    
    int main ()
    {
        double num;
        int n;
        cin>>n>>num;
        n++;
        num-=n;
        cout<<num/(double)(pow(2,n)-1)+1<<endl;
        return 0;
    }

    50位用double进行储存完全没问题

  • 相关阅读:
    win中使用curl上传文件报错
    S2-052
    S2-048
    S2-045、S2-046
    S2-033、S2-037
    S2-032
    S2-029
    day12-python之深灰魔法
    day10-11-python基础之字符串
    day09-python基础
  • 原文地址:https://www.cnblogs.com/zwx7616/p/10863356.html
Copyright © 2020-2023  润新知