永发信息网

判断整数i是2的N次方、如果是返回true,如果不是返回false。

答案:3  悬赏:60  手机版
解决时间 2021-04-26 09:15

大家最好用C语言、解决这个问题、谢谢

最佳答案

while(i>1){


int m = i % 2;


if (m) return false;


i /=2;


}


return true;

全部回答

有个很简单的方法来判断。如果一个整数A是2的N次方的话,那么A的二进制表示必定是首位为1其余为0,即(2->10,4->100,8->1000……),另外不难发现A-1的二进制(用与A相同位数表示)是首位为0,其余为1。因此编程的思路就是,如果"(A)&(A-1)==0",那么A就是2的N次方。

程序如下:

if((i)&(i-1))

return true;

else

return false;

#include <stdio.h> int is2rn( int n ) { while ( n > 1 ) { if ( n % 2 == 1 ) return 0; n /= 2; } return 1; } int main() { int n; scanf( "%d", &n ); printf( "%s\n", is2rn( n ) ? "true" : "false" ); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
狗狗有点发烧。我把体温计放在他的腿那量的
求那位数学好一点的人士,谢谢!
祥云道/郊区快速路(路口)在什么地方啊,我要
没有人知道QQ问问到底为什么不能打繁体字吗?
求助!!英文翻译,汉译英,能人进!~~
谁有2010年江苏会计电算化软件(新中大的),
李玖哲是哪的人啊?他是混血?
为什么很多视频和图片都看不了呢
儿不养老的上一句,儿不嫌母丑是那首诗里的句
DNF一上就网络连接被中断怎么办`~有河办法?
新买的手机没有问题怎么样可以退货
求一好听女孩名字.要有气质、有涵义的哦
请教,你们考试科目是什么
【银魂】谁给我这张高杉晋助的动态图
一个男生对女生想要忘记她,他的意思是?
推荐资讯
下了个雨林木风的系统软件在MP3里 想用来给电
QQ空间的大图模块该怎么弄
我想买长安悦翔能优惠多少钱?
歌手“群星”不是很多人在唱同一首歌吗?为什
上传宝贝传不了
繁体沈字多少笔画,沈这个字有多少笔画
穿越火线谁教下JU啊
人紧张了会牙疼吗?
杭州钓鱼科技园这个地址在什么地方,我要处理
我的拍拍被禁闭了 是怎么回事?
矿泉水有营养吗
请问七喜HEDY笔记本怎么锁定触摸板
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?