1:问题提出
相传现在流行的国际象棋是古代舍罕王的在想达依儿发明的。舍罕王十分喜爱象棋,决定让宰相自己要求得到什么赏赐。这位聪明的宰相指着8x8共64格的象棋盘说:陛下,请赏赐给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格放2粒,第3格放4粒,以后每一格子都比前一格增一倍,依次放完棋盘上的64格,我就感恩不尽了。
舍罕王让人扛来一袋麦子,他要兑现他的许诺。
请问,国王能兑现他的诺言吗?共有多少麦子赏赐他的宰相?合多少立方米(1立方米麦子1.42e8粒)?如果把这些麦子堆成一个正圆锥形的麦堆,这堆麦堆约多高?
2:分析
第1格1粒,第2格2粒,第3格4粒,第4格8粒,第5格16粒,择总粒数应该为:
总粒数 = 1 + 2 + 2(2) + 2(3) + 2(4) + … + 2(63) [其中2(2)的意思为2的2次方]
当算出麦子的总粒数之后,其他的就好算了。
3:程序实现
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 1.42e8
#define PI 3.1415926
/**
* 舍罕王的失算
*/
int main()
{
double t = 1;
double s = 1;
int n = 1;
int size = 1;
double v;
double h;
printf("请输入总格数:\n");
scanf("%d",&size);
for(n = 1; n < size; n++){
t = t * 2;
s = s + t;
}
printf("总粒数为:%.3e粒\n",s);
v = s / N;
printf("折合体积约为: %.0f立方米\n",v);
/** 由圆锥体的体积计算为 v = 1/3*s*h得 **/
double h2 = v * 9 / PI;
h = pow(h2,1.0/3);
printf("正圆锥的高度为: %.0f米\n",h);
return 0;
}
4:程序结果
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
舍罕网的失算=?? 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着 8 * 8 共 64 格的象棋说:“陛下,请您赏给我一些麦子吧。就在棋盘的第 1 ...
5.1 舍罕王的失算 5.2 求两个数的最大公约数和最小公倍数 5.3 歌德巴赫猜想的近似证明 5.4 三色球问题 5.5 百钱买百鸡问题 5.6 判断回文数字 5.7 填数字游戏求解 5.8 新郎和新娘 5.9 爱因斯坦的阶梯问题 5.10 寻找...
NULL 博文链接:https://javaeye-hua.iteye.com/blog/1855357
8100-1合并报表试算平衡表(新准则).zip
当当失算于Email营销 知己知彼分析:何防止google adsense fraud clicks(欺骗点击作弊)的文章 Google AdSense工作原理 Google AD 何时可以取得收入? 研究 IIS6中上传文件尺寸太小...
初学者spring必看教程.zip不看你就失算了,好书啊
基于C#WPF平台的财务管理系统,适合初学者,包括会计凭证录入 失算平衡