月之数
http://acm.hdu.edu.cn/showproblem.php?pid=2502
3进制时为 1 00 1 01 1 10 1 11
4进制时为 1000 1001 1010 1011
1100 1101 1110 1111
发现的规律是第i+1进制是第i进制1个数的两倍 再加上 第i进制 情况的个数(第i+1进制比第i多补的1的个数)。
第i进制情况的个数为 2^(i-1) 个。
代码
#include<iostream>
#include<cmath>
using namespace std;
int f(int x){
if(x==1)return 1;
return f(x-1)*2+pow(2,x-2);
}
int n;
int main(){
int T;cin>>T;
while(T--){
cin>>n;
cout<<f(n)<<endl;
}
}