#include <stdio.h> #include<math.h> int y[100]={0}; int max(int a) { int m; a-=1; while(a>=0) { m+=pow(2,a); a--; } return m; } int judge(int k) { int i; for(i=1;k!=0;i++) { y[i]=k%2; if(y[i]+y[i-1]==2) return 0; k/=2; } return 1; } int main() { int n,i,count,zs,g,sum; zs=1; scanf("%d",&g); if(g<=40) { while(g--!=0) { scanf("%d",&n); if(n<=40) { count=0; sum=max(n); for(i=0;i<=sum;i++) { if(judge(i)==1) count++; } printf("Scenario #%d:\n%d\n\n",zs++,count); } } } return 0; } |
Double click to view unformatted code.