标签:isp 技术 i++ lse 表示 类型 long 题解 else
解法:考虑直接从借的总额去递推只剩1元的情况不大好递推。
不妨直接从只剩1元去递推借 n 天的总额。
每天要借剩下的一半多1元,
设a [ i ] 表示借 i 天,最后只剩1元
那么有递推式 a[ i ] = ( a[ i - 1 ]+1 )*2;
又因n < =30 ,可直接打表输出。
注意:数据会爆int,使用long long 类型。
#include <stdio.h> int main() { long long a[40]; for(int i=1;i<=31;i++){ if(i==1)a[i]=1; else a[i]=(a[i-1]+1)*2; } int n; while(~scanf("%d",&n)){ printf("%lld\n",a[n]); } return 0; }
标签:isp 技术 i++ lse 表示 类型 long 题解 else
原文地址:https://www.cnblogs.com/littlerita/p/13211068.html