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

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

筛选

大意失荆州

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

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

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

舍罕王的失算-O(1)解法(Python & C++)

#Part1推导题目描述经过我们精简,可以发现实际上是要我们求一个序列:```latex2^0+2^1+2^2+2^3+...+2^{63}=\sum_{i=0}^{63}```学过MO的同学看到这个式子应该很熟悉,我下面列举两种解法:###等比数列求和等比数列求和公式证明如下:[![等比数列公式证明

真正解法(C语言代码)

解题思路:明显是个等比数列求和,然而答案并不是正解而是近似解,可以用计算器验证。2的64次方longlong也存不下,所以用数组模拟参考代码:建议调试一下,跟一下代码就知道在进行什么操作了#includeintmain(){//数组模拟不断乘2inta[51]={0};a[50]=1