第1题 10!
1
staticintf(inti)
2

{
3
if(i<2)
4

{
5
return1;
6
}
7
else
8

{
9
returnf(i-1)*i;
10
}
11
}
staticintf(inti)2


{3
if(i<2)4


{5
return1;6
}7
else8


{9
returnf(i-1)*i;10
}11
}
舍汉王打算重赏国际象棋的发明和进贡者、宰相达希尔。这位聪明大臣的要求看来并不高,他跪在国王面前说:“ 陛下,请您在这张棋盘的第1个小格内放1粒麦子,第2个小格内放2粒,第3格内放4粒,照这样下去,每一小格内都比前一小格加一倍。陛下把这样摆满棋盘上的所有64格的麦粒都赏给您的仆人就行啦!”
“你所求的并不多啊。”国王说道,心里为自己对这种奇妙的发明不用花费太多而暗喜,“你会如愿以偿的。”我们来计算一下,国王需要多少米。
1
staticdoubleChessboard(inti)
2

{
3
if(i==1)
4

{
5
return1;
6
}
7
if(i==2)
8

{
9
return2;
10
}
11
12
returnChessboard(i-1)*2;
13
14
}
staticdoubleChessboard(inti)2


{3
if(i==1)4


{5
return1;6
}7
if(i==2)8


{9
return2;10
}11

12
returnChessboard(i-1)*2;13

14
}
上面计算的是每次最后要放的米粒。
1
doubletotal=0;
2
for(inti=1;i<=64;i++)
3

{
4
total+=Chessboard(i);
5
}
6
System.Console.WriteLine(total);
7
System.Console.WriteLine(Math.Pow(2,64)-1);
doubletotal=0;2
for(inti=1;i<=64;i++)3


{4
total+=Chessboard(i);5
}6
System.Console.WriteLine(total);7
System.Console.WriteLine(Math.Pow(2,64)-1);
以上是对该题目的验算。
7274

被折叠的 条评论
为什么被折叠?



