Java判斷一個正整數是不是2的乘方

yoyochina發表於2009-02-09

      這是在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;
			}
		}
		
	}
}

 

相關文章