/******************************************************************************
* Name:
* NetID:
* 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:
* Works only 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) {
// reads the command-line argument
int n = Integer.parseInt(args[0]);
int i = 0; // count from 0 to n
int powerOfTwo = 1; // the ith power of 2
// repeat until i equals n
while (i <= n) {
System.out.println(i + " " + powerOfTwo); // print the power of 2
powerOfTwo = 2 * powerOfTwo; // double to get the next one
i = i + 1;
}
}
}