方法一 通过正则表达式限制该数字的二进制数以1开头,中间包含n个00,并以00结束 int num1 = 256; String nString =Integer.toBinaryString(num1); String regex = "^1(00)*$"; System.out.println(nString.matches(regex)); 方法二 通过位运算显示该数字大于0,该数字的二进制数只有首位数字是1,且1出现在奇数位上 int num2 = 128; boolean isPowerOfFour =num2>0 && (num2 & (num2-1))==0 && (num2 & 0xAAAAAAAA)==0; System.out.println(isPowerOfFour);
相关文章
- 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和, 然后重复这个过程直 到这个数变为 1,也可能是无限循环但始终变不到 1
- 从键盘上输入3个正整数,判断这3个正整数是否可以构成一个三角形,进一步判断是等边(输出1)、等腰(输出2) 回文是指正读和反读都一样的数或字符,键盘上读取一个包含5位数字的长整数,并判断它是否是回文
- 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:我年龄的立方是个4位数。 我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。 结果只有一个数。
- 判断一个整数x是否是2的N次方。
- 判断一个整数是否是2的n次方
- 如何判断一个数是否是2的N次方
- 判断一个整数是否是2的n次方
- 黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:
- 判断一个无符号数是否是2的n次幂形式的数
- 求1000以内的水仙花数. 水仙花数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)