/******************************************************************************
* Name:
* Login:
* Precept:
*
* Description: This program takes a command-line argument N and prints a
* table of the powers of 2 that are less than or equal to 2^N.
*
* Examples:
* > java PowersOfTwo 5
* 0 1
* 1 2
* 2 4
* 3 8
* 4 16
* 5 32
*
* Remarks:
* Only works if 0 <= N < 31, because 2^31 overflows an int.
******************************************************************************/
// TO DO: Convert this "while" loop to a "for" loop.
public class PowersOfTwo {
public static void main(String[] args) {
// read in one command-line argument
int N = Integer.parseInt(args[0]);
int i = 0; // count from 0 to N
int powerOfTwo = 1; // the ith power of two
// repeat until i equals N
while (i <= N) {
System.out.println(i + " " + powerOfTwo); // print out the power of two
powerOfTwo = 2 * powerOfTwo; // double to get the next one
i = i + 1;
}
}
}