打卡
1.问题:
舍罕王赏麦问题是古印度非常著名的一个级数求和问题。
传说国际象棋的发明者是古印度的西萨·班·达依尔。那时的国王是舍罕,世人称为舍罕王。当时舍罕王比较贪玩,位居宰相的西萨·班·达依尔便发明了国际象棋献给舍罕王。舍罕王非常喜欢,为了奖励西萨·班·达依尔,便许诺可以满足他提出的任何要求。
西萨·班·达依尔灵机一动,指着8×8=64的棋盘说:“陛下,请您按棋盘的格子赏赐我一点麦子吧,第1个小格赏我一粒麦子,第2个小格赏我两粒,第3个小格赏四粒,以后每一小格都比前一个小格赏的麦粒数增加一倍,只要把棋盘上全部64个小格按这样的方法得到的麦粒都赏赐给我,我就心满意足了。”舍罕王觉得这是一个很小的要求,便满口答应了,命人按要求给西萨·班·达依尔准备麦子。但是,不久大臣计算的结果令舍罕王大惊失色。问题是:舍罕王需要赏赐多少粒麦子呢?
2.思路:根据规律可以得出每次加2的n次方个。
3.程序流程图:
4.代码实现:
#include <stdio.h>
int main()
{
unsigned long long sum = 1, tmp = 1;
int i = 0;
//从第二个格子开始算,总共63个格子
for(i = 1; i < 64; i++)
{
tmp *= 2;
sum += tmp;
}
printf("国王总共需要将%llu粒麦子赏赐给他的宰相\n", sum);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具