21savage


私信TA

用户名:dotcpp0603380

访问量:582

签 名:

等  级
排  名 2774
经  验 2154
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 sysu
专  业

  自我简介:

TA的其他文章

筛选求奇数和
浏览:91
大意失荆州
浏览:201

解题思路:

首先 这个题的答案为:18446744073709551615

2^0+2^1+.......2^63=2^64-1;


主要问题是内存的大小


解决方法:long double 的取值范围 -1.2*10^-4932~1.2*10^4932



注意事项:long double 对应llf        同时  %.0llf也可以打印整数

参考代码:

#include 

#include 

int main(){

    long double sum = 0;  /*定义double型变量sum存放累加和*/

    int i;

    /*使用循环求累加和*/

    for( i=1; i<=64; i++ )

        sum = sum + pow(2.0, (i-1));  /*注意变量为double型*/

    printf("%.0llf\n", sum);  /*打印结果。%.0llf表示只取整数部分*/

    return 0;

}


 

0.0分

4 人评分

  评论区

#include<stdio.h>
#include<math.h>

int main(void)
{
    double sn=0,s=1;
    for(int i=1;i<=64;i++)
    {
        printf("%.0lf\n",s);
        sn+=s;
        s*=2;
    }
    printf("%.0f\n",pow(2,64)-1);
    printf("%.0lf\n",sn);
    return 0;
}
2023-09-01 08:56:08
2^64-1=18446744073709551616
2023-09-01 08:55:25
  • «
  • 1
  • »