import java.util.*;
public class Program
{
public static void main(String[] args) {
HashMap<Integer,String> tulokset = new HashMap<Integer,String>();
int indeksi = 0;
int maara = 0;
int luku = 0;
int luvut[] = {16,4096,32768,18,64};
//Käydään luvut läpi.
for (int x = 0; x < luvut.length; x++){
luku = luvut[x];
maara = 0;
//Katsotaan, onko luku kahden potenssi.
while (luku % 2 == 0){
luku /= 2.0;
if (luku >= 1.0){
maara++;
}
}
//Katsotaan, onko luku 2,4,8,16:n potenssi.
if (luku == 1.0){
tulokset.put(indeksi,"");
for (int y = 1; y <= maara; y++){
if (maara % y == 0){
tulokset.put(indeksi,tulokset.get(indeksi) + Math.pow(2,y) + " ");
}
}
}
else {
tulokset.put(indeksi,"Ei kahden potenssi.");
}
indeksi++;
}
//Näytetään luvut.
for (Map.Entry<Integer,String> m : tulokset.entrySet()){
System.out.println(m.getValue());
}
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.