4 条题解
-
-1
如果只有n个塔,最少次数是2^n-1。那么2n个塔代入进去就是2*(2^n-1)
先计算2^n-1再*2未免麻烦,拆括号后可得到2^(n+1)-2,计算代码可以借鉴P1194
const int N=1e5+10; int a[N],n,len=1; int main(){ cin>>n; a[1]=1; for(int i=1;i<=n+1;i++){ for(int j=1;j<=len;j++)a[j]*=2; for(int j=1;j<=len;j++){ a[j+1]+=a[j]/10; a[j]%=10; } if(a[len+1]>0)len++; } a[1]-=2;//一般要判断是否要借位,但2^(n+1)(n>=1)试一下会发现个位必然大于等于2 for(int i=len;i>=1;i--)cout<<a[i]; return 0; }
信息
- ID
- 694
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 80
- 已通过
- 30
- 上传者