解题思路:
sum=2^0+2^1+2^3+ ......+2^63
参考代码:
#include <stdio.h> #include <math.h> int main() { double sum = 0; for ( int i = 0; i <= 63; i++ ) sum += pow( 2, i ); printf( "%.0lf", sum ); return(0); }
别忘点赞哦-.-
0.0分
8 人评分
#include <stdio.h> #include <math.h> int main() { double sum; sum = pow(2,64)-1; printf("%.0f",sum); return 0; } 有答案,但是提交之后是错的,不知道为什么
你好楼主,是不是应该将int i;提出来,我不知道你的for是不是c++形式的,如果改成 #include <stdio.h> #include <math.h> int main() { double sum = 0; int i; for ( i = 0; i <= 63; i++ ) sum += pow( 2, i ); printf( "%.0lf", sum ); return(0); } 在code::block上运行是可以有题目答案的。
Tom数 (C++代码)浏览:827 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:603 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1297 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:604 |
WU-链表数据求和操作 (C++代码)浏览:1313 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:654 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:636 |
字符逆序 (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1457 |
万卷消永愁 2020-11-14 11:58:50 |
double精度只有19位,double最大值可以看下,这个题答案就是2的64次方-1,是20位的答案18446744073709551615,这个才是标准答案。题目给的近似值,这个题真的搞笑,出题的都不验证,误人子弟,我发现这个题库有几个答案都有问题,所以思路对了就行,AC是次要。double会把溢出的数只保留前19位,后面的补0,都可以自己验证的。longlong也是19位的精度,所以不要走捷径。以后做题看好精度,不然错了都找不到问题,特别是一些正规的比赛,根据精度来选择是很有必要的。这个题正解就是整型数组的大数相乘,求64个2相乘最后-1就是正解答案。