Robię różne ćwiczenia z netu, z większością nie mam problemu, ale przy tym ćwiczeniu popełniam gdzieś błąd i zupełnie nie wiem gdzie...
Wprowadzam liczbę całkowitą dodatnią n, a program na na ekranie wyświetlić wszystkie potęgi liczby 2 nie większe niż n.
Zadanie niby proste, ale mój kod wyświetla o jedną liczbę za dużo. To znaczy, jak podaje autor ćwiczenia dla np. liczby n = 71, powinienem otrzymać następujący rezultat:
1
2
4
8
16
32
64
Niestety mój kod wyświetla jeszcze 128. Będę wdzięczny za wyjaśnienie, gdzie robię błąd:
import java.util.*;
public class Potega
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int n =0;
while ( n <= 0 )
{
System.out.print("Podaj liczbę całkowitą dodatnią: ");
n = in.nextInt();
}
int potega = 0;
double wynik = 0;
while (wynik <= n)
{
wynik = Math.pow(2, potega);
potega ++;
System.out.println(wynik);
}
}
}