山河165 2021-11-30 16:51 采纳率: 100%
浏览 205
已结题

趣味程序设计_舍罕王的失算

题目描述
相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8X8共64格的象棋棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第1格中放1粒,第2格放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上64格,我就感激不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。请问,国王能兑现他的许诺吗?共要多少麦子赏赐他的宰相?

如果格子数不是64呢?

输入
有多组测试数据。

每行输入一组测试数据,即输入一个格子数n (n不超过64)。

输出
与输入相对应,每行输出一个结果,即麦子总数(单位:粒)。

样例输入 Copy
3
64
样例输出 Copy
7
18446744073709551615

为什么我输入64的时候它输出0啊?有没有大佬解释下,然后把新的程序给我看一下,求求了

img

  • 写回答

2条回答 默认 最新

  • 关注

    越界了啊,把long long sum=0改成unsigned long long sum=0;
    printf哪里用%llu
    运行结果如下:

    img

    代码修改如下:

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
        int n,i;
        unsigned long long sum = 0;
        while(scanf("%d",&n)!= EOF)
        {
            sum = 0;
            for(i=1;i<=n;i++)
            {
                sum += pow(2.0,i-1);
            }
            printf("%llu\n",sum);
        }
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 已采纳回答 11月30日
  • 创建了问题 11月30日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效