Print Powers of Two
Back to the Program-A-Day homepage
ProblemRemember that a while loop will execute indefinitely as long as a specified condition is met. A for loop is similar, except that the number of iterations is specified as an argument for the loop. Using both for and while loops, create a program that prints the powers of 2 from <math>2^0</math> up to <math>2^9</math>. Your output should look something like this: 2 to the power of 0 is 1 2 to the power of 1 is 2 2 to the power of 2 is 4 2 to the power of 3 is 8 2 to the power of 4 is 16 2 to the power of 5 is 32 2 to the power of 6 is 64 2 to the power of 7 is 128 2 to the power of 8 is 256 2 to the power of 9 is 512 |
While and For Loops | |
---|---|---|
SolutionYou will need to declare 2 variables for this problem, one for the exponent and one for the answer. int exp; int ans; You know that you need the powers of 2 from <math>2^0</math> up to <math>2^9</math>, which means that your program will need to loop through 10 times. Since the number of iterations is known, you should use a for loop to calculate each exponent. Note that the variable 'i' is declared inside the loop. This is the counter for the loop. While it is good programming practice to declare all your variables at the beginning of each method, it is common to declare variables this way in a loop statement. for (int i=0; i<10; i++) { ans=1; exp=i;
while(exp>0) { Here, the answer is multiplied by 2. Notice that 'ans *= 2' is the same as 'ans = ans * 2'. It is just a little shorter to write. This works with all arithmetic operators. ans *= 2; The while loop is exited and the answer is printed to the console. The loop repeats until 'i' reaches 10, which is the exit condition. exp --; } System.out.println("2 to the power of " + i + " is " + ans); } } } | ||
Code |