失算問題(一)

2021-07-03 13:04:26 字數 926 閱讀 7301

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 #include #include #define n 1.42e8

#define pi 3.1415926

/** * 舍罕王的失算

*/int main()

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:程式結果

失算問題(一)

1 問題提出 相傳現在流行的西洋棋是古代舍罕王的在想達依兒發明的。舍罕王十分喜愛象棋,決定讓宰相自己要求得到什麼賞賜。這位聰明的宰相指著8x8共64格的象棋盤說 陛下,請賞賜給我一些麥子吧,就在棋盤的第1個格仔中放1粒,第2格放2粒,第3格放4粒,以後每一格仔都比前一格增一倍,依次放完棋盤上的64格...

邏輯題 舍罕王失算問題

西洋棋是古印度舍罕王的宰相達依爾發明的,舍罕王獎勵宰相自己要求獎勵,宰相指著8 8共64格的棋盤說 陛下,請您賞給我一些麥子吧,就在棋盤的第1格中放1粒,第2個放2粒,第3格放4粒,以後每一格都比前一格增加一倍,以此放完棋盤上的64格,我就感激不盡了。舍罕王讓人扛來一袋麥子,他要兌現他的許諾。擺放完...

舍罕王失算

故事 相傳現在流行的西洋棋是古印度舍罕王 shirham 的宰相達依爾 dahir 發明的。舍罕王十分喜愛西洋棋,決定讓達依爾自己要求得到什麼賞賜。這位聰明的宰相指著8 8共64格的象棋盤說 陛下,請你賞給我一些麥子吧,就在棋盤的第1格中放1粒,第2格中放2粒,第3格中放4粒,以後每一格都比前一格增...