题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第 11 个棋盘格放 11 粒麦子,在第 22 个棋盘格放 22 粒麦子,在第 33 个棋盘格放 44 粒麦子,在第 44 个棋盘格放 88 粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有 6464 格)。
国王以为他只是想要一袋麦子而已,哈哈大笑。
当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子也不够用!
请你借助计算机准确地计算,到底需要多少粒麦子。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
import java.util.*;
import java.math.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
BigInteger sum=BigInteger.valueOf(1);
BigInteger a=BigInteger.valueOf(1);
BigInteger er=BigInteger.valueOf(2);
for(int i=1;i<64;i++){
a=a.multiply(er);
sum=sum.add(a);
}
System.out.println(sum);
scan.close();
}
}
该问题描述了一个关于棋盘和麦粒的故事,大臣要求国王在每个棋盘格中放置的麦粒数量是前一格的两倍,从第11格开始。文章通过Java代码展示了如何使用BigInteger类来精确计算当棋盘填满64格时所需的麦粒总数,结果表明这个数字远超乎想象。
1413

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



