棋盘的第一个方格内只放1粒麦粒,第二个方格2粒,第三格4粒,第四格8粒…以此类推,直到64个方格全部放满。结果是需要多少粒麦粒
#include<stdio.h>
double square(int num);
double square(int num)
{
double sum = 1;
while (num != 0)
{
sum = sum * 2;
num--;
}
return sum;
}
int main()
{
int n = 64;
double amout = 1.0;
for (int i = 1; i < n; i++)
{
amout += square(i);
}
printf("一共需要%.2lf粒麦粒\n",amout);
return 0;
}
运算结果是需要18446744073709552000.00粒