Java判断一个正整数是不是2的乘方
这是在http://okruby.com/ruby-wenzhai/200901/27_551.html上面看到的一个题目,就写了一下。暂时就只想到这样做了,也许还有更好的算法。import java.util.Scanner;public class Test {public static void main(String[] args){int temp = 1;Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();while(true){if(temp < n)temp<<=1;//相当于temp = temp * 2;else if(temp > n){System.out.println("该数不是2的乘方!");break;}else{System.out.println("该数是2的乘方!");break;}}}}
页:
[1]