#include<iostream> using namespace std; bool isPower(int n, int a) { //思路很巧妙 while(0 == n % a) n /= a; if(1 == n) return true; return false; } //如果base是2,则可巧用位运算 bool is2Power(int n) { return !(n & (n - 1)); } int main() { int i; for(i = 1; i <= 1000; i++) if(isPower(i, 3)) cout << i << " "; cout << endl; for(i = 1; i <= 1000; i++) if(is2Power(i)) cout << i << " "; cout << endl; return 0; }
相关文章
- 判断一个整数x是否是2的N次方。
- 判断一个数是否为2的n次方
- 给定两个字符串x、y,设计一个算法来判断是否存在一对正整数m、n,使得x^m = y^n。
- 判断整数 x 能否表示成 n(n >= 2)个连续正整数的和
- 黑马程序员——判断是否为2的N次方并取N
- 2.3-7 描述一个运行时间为Θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素
- 用一个表达式,判断一个数X是否是2的n次方(2,4,8,16...),不可以用循环语句。
- 用一个表达式而不是一个循环语句 判断一个数X是否是2的N次方(2,4,8,16......)
- 如何判断一个数是否为2的N次方
- 判断n是否为a的x次方(n, a, x都为正整数)