语言高手急救:象棋盘上有64个格子,第一个格子中放入一粒米,第二个格子中放入两粒米……以后每个格子放入的米粒数都是前一个格子中米粒数的两倍,试用累加法计算这64个格子中放入的米
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 19:29:24
语言高手急救:象棋盘上有64个格子,第一个格子中放入一粒米,第二个格子中放入两粒米……以后每个格子放入的米粒数都是前一个格子中米粒数的两倍,试用累加法计算这64个格子中放入的米
语言高手急救:象棋盘上有64个格子,第一个格子中放入一粒米,第二个格子中放入两粒米……
以后每个格子放入的米粒数都是前一个格子中米粒数的两倍,试用累加法计算这64个格子中放入的米粒的总数
#include
int main()
{
long int sum=1;
double n=1;
if(n
语言高手急救:象棋盘上有64个格子,第一个格子中放入一粒米,第二个格子中放入两粒米……以后每个格子放入的米粒数都是前一个格子中米粒数的两倍,试用累加法计算这64个格子中放入的米
格子序号,米粒数
1 1=2^0
2 2=2^1
3 4=2^2
4 8=2^3
.
64 2^63
和为2^0+2^1+2^2+2^3+.+2^62+2^63= 2^64-1=18446744073709551615
这个数量相当于现在全世界人口吃1000多年的 粮食产量
2^0+2^1+2^2+……+2^63=2^64-1
#include
int main()
{
long int a=1,sum=0,n=0;
if(n<64)
{
sum=sum+a;
a=2*a;
n++;
}
printf("小麦的总数为=%d",sum);
return 0;
}
大哥,你能说一下你是要方法还是要程序不?还有你到底要什么语言的程序...
我现场给你用C语言编一个吧....
#include
#include
void main()
{
int i,s,t;
s=1;
t=1;
for(i=...
全部展开
大哥,你能说一下你是要方法还是要程序不?还有你到底要什么语言的程序...
我现场给你用C语言编一个吧....
#include
#include
void main()
{
int i,s,t;
s=1;
t=1;
for(i=1;i<64;i++)
{
t=t*2;
s+=t;
}
printf("总计%d\n",s);
getch();
}
收起
本网友新发现归纳的速算方程式为:
1+[2^63]*2-2。
在此奉献给大家。 并欢迎验证,此方程式有完全充分的逻辑依据,暂不说明。