zoukankan      html  css  js  c++  java
  • 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进行储存完全没问题

  • 相关阅读:
    Web 项目分页总结
    Hibernate配置JNDI数据源
    111
    南京信息工程大学实验报告(三)
    南京信息工程大学实验报告(四)
    南京信息工程大学实验报告(二)
    实验报告(一)
    第一次尝试发随笔
    【Selenium2+Python】常用操作
    【敏捷】敏捷下,各类文档砍砍砍?
  • 原文地址:https://www.cnblogs.com/zwx7616/p/10863356.html
Copyright © 2011-2022 走看看