文档库 最新最全的文档下载
当前位置:文档库 › 国际象棋经典问题

国际象棋经典问题

/*题目:国王的赏赐:国王问国际象棋的发明者需要得到什么赏赐。
发明者说道:“请您在棋盘上的第一个格子上放1粒麦子,第二个格子上放2粒,第三个格子上放4粒,第四个格子上放8粒……
即每一个格子中放的麦粒都必须是前一个格子麦粒数目的倍数,直到最后一个格子第64格放满为止。”
又知每粒小麦重0.035g,小麦价格为2.10元/kg,黄金价格为289.50元/g,2012年全世界的小麦产量为6.9亿吨。
编程计算并输出国王的赏赐可折算成多少黄金,相当于全世界多少年产量。
一、主函数分析:
1、 输入:无
2、 输出:黄金数量m,世界年产量y
3、 公式(算法):
①循环:
1)循环体:
s+=a;
a*=2;
2)起始条件:s=0;a=1;i=1;
3)终止条件:i=64;
4)过渡条件:i++;
5)执行条件:i<=64;
②t=0.035*s/1000;//小麦的重量(Kg)
m=2.1*t/289.5/1e6;//黄金的重量(吨)
y=t/1e11/6.9;//全世界的产量(年)
4、 数据结构:变量?常量?类型?
变量:i int;
s,a,t,m,y float;
二、程序*/
#include
void main()
{
int i;
float s=0,a=1,t,m,y;
for(i=1;i<=64;i++)
{
s+=a;
a*=2;
}
t=0.035*s/1000;//小麦的重量(Kg)
m=2.1*t/289.5/1e6;//黄金的重量(吨)
y=t/1e11/6.9;//全世界的产量(年)
printf("%.0f\n%.0f\n",m,y);
}

相关文档