C趣味程序(二)(01)舍罕王的失算

文章作者 100test 发表时间 2007:03:10 17:34:08
来源 100Test.Com百考试题网


1.1.3 舍罕王的失算
相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8X8共64格的象棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第1格中放1粒,第2格放2粒,第3格放4粒,以后每一格都比前一格增加一位,依此放完棋盘上64格,我就感激不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。
请问,国王能兑现他的许诺吗?共要多少麦子赏赐他的宰相?合多少立方米?(1立方米麦子约1.42e8粒)
算法分析:
这是一个典型的等比数列求和的问题。
第1格1粒,第2格2粒,第3格4=22粒,...,第i格为2i-1粒,于是总粒数为:
s=1 2 22 23 ... 263
设置求和i循环,把每一项的通项2i-1(或由t=t*2得到的累乘量t)累加到和变量s中,即可实现该等比数列求和。
程序代码如下:
#include
void main()
{
double t=1,s=1.
int i.
for(i=.i<=63.i )
{
t=t*2.
s=s t.
}
printf("总麦粒数为:%f\n",s).
printf("折合体积为%f立方米\n",s/1.42e8).
}

相关文章


计算机等级考试报考条件与报考对象
C趣味程序(二)(02)电阻计算
C趣味程序(二)(01)舍罕王的失算
全国计算机等级考试二级Access考点分析之模块(1)
全国计算机等级考试二级Access考点分析之模块(3)
全国计算机等级考试详解
计算机等级考试性质和目的
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛