相傳古印度宰相達(dá)依爾,是國(guó)際象棋的發(fā)明者。有一次,國(guó)王因?yàn)樗呢暙I(xiàn)要獎(jiǎng)勵(lì)他,問他想要什么。達(dá)依爾說:“只要在國(guó)際象棋棋盤上(8×8共64格)擺上這么些麥子就行了:第一格一粒,第二格兩粒,……,后面一格的麥子總是前一格麥子數(shù)的兩倍,擺滿整個(gè)棋盤,我就感恩不盡了。”國(guó)王一想,這還不容易,剛想答應(yīng),如果你這時(shí)在國(guó)王旁邊站著,你會(huì)不會(huì)勸國(guó)王別答應(yīng),為什么,你編程計(jì)算一下大約需要多少立方小麥(1立方米約為142000000粒)?c語(yǔ)言求解
2 回答
Glitterior
TA貢獻(xiàn)27條經(jīng)驗(yàn) 獲得超8個(gè)贊
已知有這四個(gè)錯(cuò)誤
1.long sum(int)
2.long suma = sum(x);
3.else? x = 1;
4.142E6
這個(gè)程序主要是最后的遞歸函數(shù),利用后一個(gè)格子是前一個(gè)格子的2倍,且第一個(gè)格子是1這個(gè)規(guī)律
Glitterior
TA貢獻(xiàn)27條經(jīng)驗(yàn) 獲得超8個(gè)贊
#include<stdio.h>
int sum(int);
int main()
{
??? int x = 64;
??? long sum = sum(64);
??? printf("%ld\n",sum/1.42E8);
??? return 0;
}
int sum(int a)
{
??? long x =sum(a);
??? if(a != 1)
??????? x =2*sum(a-1);
??? else
??????? sum(1) =1;
??? return x;
}
- 2 回答
- 0 關(guān)注
- 1295 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
