HDU4349-Xiao Ming's Hope-找规律

时间:2023-03-09 07:32:10
HDU4349-Xiao Ming's Hope-找规律

打表输出前100之后,找到规律。

不过正确规律是1<<(二进制中1的个数)。

 #include <cstdio>
#include <algorithm> using namespace std; int C[][]; void pnt_bit(int x)
{
int cnt = ,flag = ;
int bit = ;
while(x)
{
if(x&) {flag = ;}
else {if(flag) cnt++;}
x>>=;
bit++;
}
printf("%d\n",(<<bit)/(<<(cnt+)));
} void init()
{
C[][] = C[][] = C[][] = ;
int cnt = ;
for(int i=;i<;i++)
{
C[i][] = C[i][i] = ;
cnt = ;
for(int j=;j<i;j++)
{
C[i][j] = C[i-][j-]+C[i-][j];
if(C[i][j]&) cnt++;
} pnt_bit(i+);
printf(" lev:%d cnt:%d\n",i+,cnt);
}
} int n; int main()
{
//init();
while(~scanf("%d",&n))
{
pnt_bit(n+);
}
}