| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2360 人关注过本帖
标题:出个问题,测测这个坛子里的人的水有多深
只看楼主 加入收藏
Alex_Lau
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-14
结帖率:0
收藏
已结贴  问题点数:10 回复次数:22 
出个问题,测测这个坛子里的人的水有多深
输入一个数n,给出一个算法测试这个数是不是2的次幂
搜索更多相关主题的帖子: 坛子 
2010-08-06 10:59
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
程序代码:
#include <stdio.h>
int exponential(const int n)
{
    int m=n;
    while( m > 1 )
    {
    if ( m & 0x1 )
        return 0;
    m=m>>1;
    }
    return 1;
}
int main()
{
    int n;
    scanf("%d",&n);
    if ( exponential(n) )
    {
    printf ("%d is 2 exponential\n",n);
    }
    else
    printf ("%d is not 2 exponential\n",n);
}
2010-08-06 11:12
Alex_Lau
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-14
收藏
得分:0 
楼上的算法已经有些入门,大家继续,稍后会给出自己的算法

把时髦的技术挂在嘴边,不如把过时的技术记在心里
2010-08-06 11:14
conquerorbzm
Rank: 2
等 级:论坛游民
帖 子:35
专家分:33
注 册:2010-7-23
收藏
得分:0 
最近做大数的题很多,我试试,现在吃饭去,下午给你答复。
2010-08-06 11:14
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用Alex_Lau在2010-8-6 11:14:41的发言:

楼上的算法已经有些入门,大家继续,稍后会给出自己的算法



你就这么评价我?

哥倒要看看你是不是真的有跟哥一样的效率。
2010-08-06 11:16
conquerorbzm
Rank: 2
等 级:论坛游民
帖 子:35
专家分:33
注 册:2010-7-23
收藏
得分:0 
用到了位运算,比我的算法简单多了,那我就不献丑了,2楼那位高手能告诉我你的位运算的意思嘛,我还是初学者。谢谢啦
2010-08-06 11:21
xxwpk007
Rank: 4
等 级:业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
收藏
得分:0 
(n & (n-1)) == 0

[ 本帖最后由 xxwpk007 于 2010-8-6 11:39 编辑 ]
收到的鲜花
  • Devil_W2010-08-06 11:45 送鲜花  3朵   附言:Good shoot
2010-08-06 11:30
snail5007
Rank: 2
来 自:安徽潜山
等 级:论坛游民
帖 子:92
专家分:84
注 册:2010-6-11
收藏
得分:0 
心态不对
测测水有多深

在大庆漂泊的失意人
现工作于油田EOR
2010-08-06 14:40
zisefengye
Rank: 5Rank: 5
等 级:职业侠客
帖 子:167
专家分:386
注 册:2010-6-27
收藏
得分:0 
我是这样理解的:
 2    4     8     16     32      64
10   100  1000  10000  100000  1000000
这样就能看出与运算的意义所在了吧。二进制本身就是最具代表,假如一个数满足以下条件,我们就可以判定它是2的次幂:
当1左移x次后恰好等于n,那么n就是2的次幂。也可以这样理解,一个数只有高位1位为1,其余位为0,那么该数就是2的次幂。
2010-08-06 20:58
明王朝
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:196
注 册:2009-11-3
收藏
得分:0 
回复 9楼 zisefengye
学习了……
2010-08-06 21:21
快速回复:出个问题,测测这个坛子里的人的水有多深
数据加载中...
 
   



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

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