用最快的方法判断一个数是不是2的n次方
2013-03-17 10:17
246 查看
用最快的方法判断一个数是不是2的n次方
例如:
2、4、8、16、32.............等。
本人想到一个最笨的办法:
同学想到一个很高效的办法:
例如:
2、4、8、16、32.............等。
本人想到一个最笨的办法:
boolean check(int a) { boolean flag = false; int temp = 2; while (true) { temp = temp * 2; if (temp == a ) { flag = true; break; }else if(temp > a) { break; } } return flag; }
同学想到一个很高效的办法:
boolean check(int a) { return (a&(a-1)) == 0?true:false; }
相关文章推荐
- 【java】判断一个数是不是2的N次方
- 判断一个数是否是回文数(两种方法1.将数字翻转看与原来是否相等2.当作字符串处理看是不是左右对称相等)
- 判断一个图片是不是伪造的方法
- 判断一个序列是不是堆的方法
- 判断一个数是不是2^N次方
- 判断一个计算机是不是域主机的几个方法
- 从StL stack 查找一个元素或者判断一个元素是不是存在的方法
- js判断一个值是空的最快方法是不是if(!value){alert("这个变量的值是null");}
- 判断一个图片是不是伪造的方法
- C语言小编程之判断一个数是否是2的n次方的巧妙方法
- 求一个数二进制中1的个数(优化)。判断一个数是不是2的n次方
- 怎么判断一个数是不是2的n次方
- [置顶] 判断一个数是不是素数的最快的方法(代码可以运行,Miller_Rabin + 新的)
- 判断一个数是不是素数的方法
- 编写方法,判断一个正整数是不是质数
- javascript 判断 一个对象是不是 数组的方法
- 判断一个数是不是2的整数次幂(两种方法)
- 判断一个变量是不是数组Array类型的方法
- 如何判断一个数是不是素数(prime number) 方法
- C语言小编程之判断一个数是否是2的n次方的巧妙方法