#include "stdio.h" #include "math.h" #include "string.h" void main() { int two(int a); int max(int a); int flag; int n; for(;scanf("%d",&n)!=EOF;) { flag=2; for(;n>0;) { //printf("00\n"); if(two(n)==1&&flag%2==0) { printf("Yes\n"); break; } if(two(n)==1&&flag%2==1) { printf("No\n"); break; } //printf("%d\n",max(n)); if(two(n)==0) { n=n-2; flag++; } } } } int two(int a) //2的次幂? { int i; int p=1; for(i=0;p<=a;i++) { if(p==a) return 1; p=p*2; } return 0; } int max(int a) //最大次幂 { int i; int p=1; for(i=0;;i++) { if(p>a) break; p=p*2; } return p/2; } |
Double click to view unformatted code.