一个算法题H

houjzs 2002-01-09 01:09:02
用一条c语句,判断一个说是否是2的n次方。
...全文
134 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
houjzs 2002-01-29
  • 打赏
  • 举报
回复
还有更好的吗?
pchaos 2002-01-24
  • 打赏
  • 举报
回复
这个log(N)/log(2) 挺好。就是有精度问题
jeffchen 2002-01-24
  • 打赏
  • 举报
回复
做对数运算不就行了?
log(N)/log(2)
goodsong 2002-01-24
  • 打赏
  • 举报
回复
真的看不懂
fabs(pow(2,n)-N)<10e-6
right?
comet 2002-01-24
  • 打赏
  • 举报
回复
错的!不好意思!
comet 2002-01-24
  • 打赏
  • 举报
回复


设N为4字节
return (N>0) && (N + 0xFFFFFFFF + 1 == N);

comet 2002-01-24
  • 打赏
  • 举报
回复
是不是一定能实现?
houjzs 2002-01-24
  • 打赏
  • 举报
回复
不能用循环,否则就没意义了。只用一条c语句。
li_zuo_min 2002-01-24
  • 打赏
  • 举报
回复
我也不知道.
li_zuo_min 2002-01-24
  • 打赏
  • 举报
回复
log(N)/log(2) 思路很好,但是, 使用函数后. log(N)<>n*log(2); 则可能导致不能整除.
houjzs 2002-01-11
  • 打赏
  • 举报
回复
不能用循环,否则就没意义了。只用一条c语句。
cdone 2002-01-09
  • 打赏
  • 举报
回复
return 1<<n == N
ygd 2002-01-09
  • 打赏
  • 举报
回复
int N;数
int n;次方
return N>>n==1;
szbobby 2002-01-09
  • 打赏
  • 举报
回复
奇怪,看不懂哦

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧