| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2360 人关注过本帖
标题:出个问题,测测这个坛子里的人的水有多深
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
呵呵。。。算法?i don't no.......

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-08-06 21:35
fengheng
Rank: 1
来 自:shanghai
等 级:新手上路
帖 子:24
专家分:8
注 册:2010-5-25
收藏
得分:0 
学习

虚心使人进步,做最好的自己!
2010-08-06 21:47
Cbirdfly
Rank: 1
等 级:新手上路
帖 子:20
专家分:8
注 册:2010-8-6
收藏
得分:0 
LZ咋不给出正解呀 急死我了
2010-08-06 21:53
zisefengye
Rank: 5Rank: 5
等 级:职业侠客
帖 子:167
专家分:386
注 册:2010-6-27
收藏
得分:0 
好吧,我就献丑,给出我的方法。
//这个方法比较慢,通过左移的方法,来判断输入的数是否为2的次幂
bool exponential(int n)
{
    int tmp = 1;
    while(n >= tmp)
    {
        if(tmp == n)
        {
            return true;
        }
        tmp = tmp<<1;
    }
    return false;
}
//直接通过与运算,判断该数的二进制表示中含有1的个数,若仅有高位为1,那么该数就为2的次幂
bool my_exponetial(int n)
{
    if((n & (n - 1)) == 0)
    {
        return true;
    }
    return false;
}
2010-08-06 22:08
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
7楼 好方法 ! 学习!
2010-08-06 23:51
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
这个题目以前找工作的时候,笔试题就做过了
n&(n-1)==0
2010-08-07 00:48
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
可否认为一个正整数用二进制表示,只要一个数只有一个1,其余都是0,那都是2的N次方,N=几,只要求N所在的位数-1就可以了,大于16位的数是否应该考虑呢?
2010-08-07 20:43
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
纠正一下,上文所的是1所在的位置
2010-08-07 20:47
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
晕了,又打别字,更正好了:
可否认为一个正整数用二进制表示,只要一个数只有一个1,其余都是0,那都是2的N次方,N=几,只要求1所在的位数-1就可以了,大于16位的数是否应该考虑呢?
2010-08-07 20:49
lizanle521
Rank: 1
等 级:新手上路
帖 子:16
专家分:3
注 册:2010-8-7
收藏
得分:0 
新手报到,旱鸭子一只!深奥的不能明白那是什么意思
2010-08-07 23:32
快速回复:出个问题,测测这个坛子里的人的水有多深
数据加载中...
 
   



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

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