这段代码计算的是第n个棋盘格上的麦粒数(2的n-1次方),而不是前n格的总和。题目通常要求计算前n格的总麦粒数。 - 你的循环从n>1开始,每次乘以2,这实际上计算的是2^(n-1),即第n格的数量。如果要计算总和,需要累加每一格的数量,而不是只乘2。 - 注意初始值sum=1对应第一格,但循环条件n>1会导致当n=1时直接返回1,这没问题;但n=2时循环一次得到2,这是第二格的数量,不是前两格的总和。
Copy this url:
QR-code: