技术小屋

  • 首页
  • 编程
    • Java
    • C语言
    • VB6
  • 设计
    • PR
    • AE
    • PS
  • 论坛
  • 闲谈
技术小屋
一个关于技术的小屋
  1. 首页
  2. 编程
  3. C语言
  4. 正文

印度国王奖赏小麦问题 C语言 解决方案

2021年11月1日 331点热度 1人点赞 0条评论
相传印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二个格子放二粒麦子,以后每一个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我64格的麦子,就感激不尽,其它什么也不要了。”国王想,“这还不容易!”让人扛了一袋麦子,但很快用光了,再扛出一袋还是不够,请你为国王算一下共要给达依尔多少小麦?(设1立方米小麦约1.4×108粒。)
#include  <stdio.h>
#include <math.h>
int main()
{
    unsigned long long x=0,sum=0;
    for(int i=0;i<64;i++)
    {
      x=pow(2,i);
      sum=sum+x;
    }
    printf("%llu",sum);
    return 0;
}
注:%llu为无符号型长整型,所以小麦最大数量不会超过其最大范围,可以正常输出
标签: c
最后更新:2021年11月1日

木槿

这个人很懒,什么都没留下

点赞

文章评论

取消回复

COPYRIGHT © 2021 techxw.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

闽ICP备20003819号