您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  C趣味程序(二)(01)舍罕王的失算 【注册男护士专用博客】          

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

www.nanhushi.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<stdio.h>
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);
}

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目