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.