. 棋盘上的粮食
【问题描述】
传说,古印度有一个人发明了一种游戏棋,棋盘共64格,玩起来十 分新奇、有趣。他把这种棋献给了国王。国王玩得十分开心,便下 令赏赐献棋人。臣下问献棋人想要什么。献棋人说:他只需要粮 食,要求大王给点粮食便心满意足了。问他需要多少粮食,他说只 要求在棋盘的第一个格子里放一粒米,在第二个格子放两粒米,第 三个格子里放四粒米,总之,后面格子里的米都比它前一格增大一 倍,把64格都放满了就行。国王一听,满口答应。大臣们也都认 为:这点米,算得了什么,便领献棋人去领米。岂料,到后来把所
有仓库里的存米都付出了,还是不够。你知道这是为什么吗?
已知国王一共有N粒米,求最多可以摆满多少个格子,(格子里面的
米粒数量满足献棋人的要求则为摆满,例如第一个格子摆放1粒米就满
了,第2个格子摆放2粒米就满了,依次类推)。
输入:包含一个正整数N;
输出:包含一个正整数,即可以摆放米粒的格子数。
【样例输入】
10000000
【样例输出】
23
棋盘上的粮食c++求解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 你好,如有帮助,麻烦采纳一下
#include<stdio.h> #include<stdlib.h> double A(int n); int main() { double n=0,m; int i; for(i=0;i<64;i++) { m=A(i); n+=m; } printf("sum = %e\n",n); return 0; } double A(int n) { int i; double m=1; if(n!=0) { for(i=1;i<=n;i++) { m*=2; } } return m; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 4
悬赏问题
- ¥15 远程桌面文档内容复制粘贴,格式会变化
- ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
- ¥15 网络设备配置与管理这个该怎么弄
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题