关键是寻找规律,dp[i]表示位数为i+1的月之数
用到dp的思想
#include<stdio.h>
int dp[20];
int main()
{
dp[0] = 1;
int temp;
for(int i = 1;i<20;++i)
{
temp = (1<<(i-1));
dp[i] = (temp+dp[i-1])*2-temp;
}
int m,n;
while( scanf("%d",&m) != EOF )
{
while(m>0)
{
scanf("%d",&n);
printf("%d\n",dp[n-1]);
--m;
}
}
return 0;
}