解题思路:
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上运行是可以有题目答案的。
震宇大神的杀毒软件 (C++代码)浏览:1173 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:530 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:466 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:790 |
WU-整除问题 (C++代码)浏览:648 |
三角形 (C++代码)记忆化搜索浏览:1317 |
C语言程序设计教程(第三版)课后习题6.3 (C++代码)浏览:1067 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:964 |
【偶数求和】 (C语言代码)浏览:460 |
Hello, world! (C语言代码)浏览:916 |
万卷消永愁 2020-11-14 11:58:50 |
double精度只有19位,double最大值可以看下,这个题答案就是2的64次方-1,是20位的答案18446744073709551615,这个才是标准答案。题目给的近似值,这个题真的搞笑,出题的都不验证,误人子弟,我发现这个题库有几个答案都有问题,所以思路对了就行,AC是次要。double会把溢出的数只保留前19位,后面的补0,都可以自己验证的。longlong也是19位的精度,所以不要走捷径。以后做题看好精度,不然错了都找不到问题,特别是一些正规的比赛,根据精度来选择是很有必要的。这个题正解就是整型数组的大数相乘,求64个2相乘最后-1就是正解答案。