设计两个不同的方法,判断一个数是否为2的阶次数

来源:互联网 发布:淘宝上的催情药实测 编辑:程序博客网 时间:2024/06/06 21:38

思路很简单,直接上代码

package go.derek;public class Judge {//递归方法public boolean judge1(double n){n/=2;if(n==2){return true;}//如果始终不等于2,则肯定有以下两种情况if(1<n&&n<2||2<n&&n<3){return false;}return judge1(n);}//循环方法public boolean judge2(double n){while(n!=2){n/=2;if(1<n&&n<2||2<n&&n<3){return false;}}return true;}public static void main(String[] args){boolean b1=new Judge().judge1(128);boolean b2=new Judge().judge2(168);System.out.println(b1);System.out.println(b2);}}

输出

true

false

原创粉丝点击