- gawk '$1>1 && !and($1,$1-1){print "YES";i=1}END{if(!i)print "NO"}'
C版:
-
#include <stdio.h>
-
-
int is2n(unsigned int i){
-
return i>1 && !(i&(i-1));
-
}
-
-
int main(void){
-
unsigned int i, c;
-
scanf("%d", &i);
-
-
switch(is2n(i)){
-
case 0:
-
printf("NO\n");
-
break;
-
case 1:
-
printf("YES\n");
-
break;
-
}
-
-
return 0;
- }