Witam, przerabiam kolejne zadanie z pętli, ale ciągle nie czuje się na siłach by dobrze napisać do końca program. Treść zadania brzmi. Napisać program, który wczytuje od użytkownika liczbę całkowitą dodatnią n, a następnie wyświetla na ekranie wszystkie potęgi liczby 2 nie większe, niż podana liczba. Mam problem z warunkiem wykonania pętli, np dla liczby 71 wyświetla mi 128, zamiast 64. Teoretycznie mogę zadeklarować warunek jako potęga*2<n, ale wolałbym znaleźć inny sposób na to zadanie :)
import java.util.Scanner;
public class petla2{
public static void main(String[] args){
Scanner num = new Scanner(System.in);
System.out.println("Podaj liczbe: ");
int n = num.nextInt();
int potega= 1;
while(n<0){
System.out.println("podaj liczbe jeszcze raz");
n=num.nextInt();
}
for(int i=1;potega<=n;i++){
potega=potega*2;
System.out.println(potega);
}
}
}