题解 1146: C语言训练-舍罕王的失算

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

C语言训练-舍罕王的失算-题解(C++代码)——大数运算

这个题,它给的样例答案是错的,正确的结果应该是18446744073709551615(2的64次方-1)#思路模拟大数运算,编写一个大数加法(用于加和),在编写一个大数乘法(用于累乘)#代码#includeusingnamespacestd;intnum[100]={0};intadd[100]={

大意失荆州

解题思路:首先这个题的答案为:184467440737095516152^0+2^1+.......2^63=2^64-1;主要问题是内存的大小解决方法:longdouble的取值范围-1.2*10^-4932~1.2*10^4932注意事项:longdouble对应llf同时%.0llf也可以打印整

C语言训练-舍罕王的失算-题解(C语言代码)

解题思路:将2^0到2^63依次相加后输出,因为最后的数字太大,所以我使用了无符号超长整形。(2^0代表2的0次方)代码如下:#include#includeintmain(){unsignedlonglongsum=0;//使用无符号longlong来存储数据inti;for(i=0;i<64;i+
优质题解

C语言训练-舍罕王的失算-题解(C语言代码)答案错误?你的答案没错,是题目给的答案有问题,相信你自己!

如果你跑出的答案是18446744073709551616,然后一直都是答案错误,死活就是和题目给的答案:18446744073709552000对不起来,请不要怀疑你自己,你的答案是正确的,题目的答案是把最后几位取了一个近似值,注意我说的是近似值不是四舍五入!!!!既然如此,

Kanna-舍罕王的失算-C

象棋中一共64格而两格又是之前的两倍,所以是2^i次方代码实现#include#includeintmain(void){//double保证不会溢出范围doublesum=0;for(inti=0;i<64;i++){sum+=pow(2,i);}printf("%.f\n",sum);}