相傳古印度宰相達(dá)依爾,是國際象棋的發(fā)明者。有一次,國王因為他的貢獻(xiàn)要獎勵他,問他想要什么。達(dá)依爾說:“只要在國際象棋棋盤上(8×8共64格)擺上這么些麥子就行了:第一格一粒,第二格兩粒,……,后面一格的麥子總是前一格麥子數(shù)的兩倍,擺滿整個棋盤,我就感恩不盡了?!眹跻幌?,這還不容易,剛想答應(yīng),如果你這時在國王旁邊站著,你會不會勸國王別答應(yīng),為什么,你編程計算一下大約需要多少立方小麥(1立方米約為142000000粒)?c語言求解
2 回答

Glitterior
TA貢獻(xiàn)27條經(jīng)驗 獲得超8個贊
已知有這四個錯誤
1.long sum(int)
2.long suma = sum(x);
3.else? x = 1;
4.142E6
這個程序主要是最后的遞歸函數(shù),利用后一個格子是前一個格子的2倍,且第一個格子是1這個規(guī)律

Glitterior
TA貢獻(xiàn)27條經(jīng)驗 獲得超8個贊
#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)注
- 1241 瀏覽
添加回答
舉報
0/150
提交
取消