Chinaunix首页 | 论坛 | 博客
  • 博客访问: 561261
  • 博文数量: 375
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-20 10:21
文章分类

全部博文(375)

文章存档

2015年(1)

2014年(374)

分类: LINUX

2014-08-18 13:59:19

原文地址:求一个整数是否是2的n次方 作者:zooyo

awk版:
  1. gawk '$1>1 && !and($1,$1-1){print "YES";i=1}END{if(!i)print "NO"}'

C版:
  1. #include <stdio.h>

  2. int is2n(unsigned int i){
  3.     return i>&& !(i&(i-1));
  4. }

  5. int main(void){
  6.     unsigned int i, c;
  7.     scanf("%d", &i);

  8.     switch(is2n(i)){
  9.         case 0:
  10.             printf("NO\n");
  11.             break;
  12.         case 1:
  13.             printf("YES\n");
  14.             break;
  15.     }

  16.     return 0;
  17. }
阅读(761) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~