今天给你一块钱,连续30天每天给你前一天2倍的钱,最后你可以得到多少钱

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:32:22
今天给你一块钱,连续30天每天给你前一天2倍的钱,最后你可以得到多少钱
这咋用程序来计算

2的29次方

每次都是2倍 那肯定不用想啊,几天就是2的几次方!!!
int a=1;//
int sum=0;//
for(int i=0;i<30;i++)
{
sum=sum+a;
a=a*2;
}
循环之后
sum 为 2的30次方

用for循环
int a=1;//每天给的钱的多少
int sum=0;//
for(int i=0;i<30;i++)
{
sum=sum+a;
a=a*2;
}
循环完毕后sum即是给的钱数

结果就是2的0次方加到2的(n-1)次方

int sum = 0;

for(int i = 0;i < 30; i++)
{
sum += 1<<i; //左移一位就是乘以2,第n天给的钱就是 1 << (n-1)
}

sum的值就是最后得到的钱数

2的30次方

是536870912块