| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1200 人关注过本帖
标题:根据输入的数是否为2的n次方,打印出yes 或no
只看楼主 加入收藏
xdzsm
Rank: 2
等 级:论坛游民
帖 子:137
专家分:99
注 册:2010-10-26
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:14 
根据输入的数是否为2的n次方,打印出yes 或no
从键盘输入n个数,如果它是2的n次幂,则打印出yes,否则打印出no.
例如:
输入
8
9
32
17
输出:
yes
no
yes
no
搜索更多相关主题的帖子: 打印 键盘 
2011-03-01 20:12
xdzsm
Rank: 2
等 级:论坛游民
帖 子:137
专家分:99
注 册:2010-10-26
收藏
得分:0 
大家帮忙看一下,用C怎样完成这道题目?
2011-03-01 20:21
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:3 
#include <stdio.h>
int main()
{
    int x ;
    while( ( scanf("%d" , &x ) ) == 1 )
    {
        if( ( x & ( x - 1 ) ) == 0 )
            printf("Yes\n" ) ;
        else
            printf("No\n" ) ;
    }
    return 0 ;
}
收到的鲜花
  • huangapple2011-03-01 21:05 送鲜花  10朵   附言:好文章,牛B
2011-03-01 20:29
xdzsm
Rank: 2
等 级:论坛游民
帖 子:137
专家分:99
注 册:2010-10-26
收藏
得分:0 
回复 3楼 『点点滴滴』
运行是没错,但是
if( ( x & ( x - 1 ) ) == 0 )
我不太理解,学编程不是太久
意思应该是判断 “ x是否为2 的n次方”

但还是非常感谢!
2011-03-01 20:45
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
收藏
得分:3 
学习学习。
2011-03-01 20:48
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:0 
如果x是2的n次方,那么这个数的2进制表示里边肯定只有1个1,
比如4:100,  8:1000 , 16:10000
相应的x-1就是: 011, 0111, 01111 ,
2进制表示里没有一位是一样的,所以 x & ( x - 1 ) 肯定为0 。
你再找几个不是2的次方的数看看就看出来了
2011-03-01 20:49
xdzsm
Rank: 2
等 级:论坛游民
帖 子:137
专家分:99
注 册:2010-10-26
收藏
得分:0 
回复 6楼 『点点滴滴』
我查了一下
应该和
01&10=00  以及
00&01=00
是一个道理吧!
2011-03-01 21:09
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:3 
回复 6楼 『点点滴滴』
向点滴学习了

勤能补拙,熟能生巧!
2011-03-01 21:13
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:0 
回楼主:
  是这样的。

回huangapple:
  互相学习,呵呵,你写的游戏不错噢
2011-03-01 21:34
a3314279
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2011-2-24
收藏
得分:3 
额,还是不懂 x & ( x - 1 )这个什么意思!!这种格式代表什么?
2011-03-01 21:36
快速回复:根据输入的数是否为2的n次方,打印出yes 或no
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025945 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved