解题思路:
首先 这个题的答案为: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; }
2^64-1=18446744073709551616
C语言训练-阿姆斯特朗数 (C语言代码)浏览:897 |
C语言程序设计教程(第三版)课后习题8.2 (Java代码)浏览:2287 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:597 |
P1002 (C语言代码)浏览:1019 |
上车人数 (C语言代码)浏览:816 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:910 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:751 |
1009题解浏览:802 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |