Ocena użytkownikóww: ***** / 4
Nadesłany przez Dominik Goździuk, 24 października 2011 13:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
LiczbyDoskonale.java:
//Liczby doskonale
//(c) Dominik Goździuk
//www.algorytm.org
public class LiczbyDoskonale {
private static int[] liczby;
public static void main(String[] args) {
//Zainicjuj zmienne
int znalezione = 0;
int x = 1;
int suma_dzielnikow = 0;
liczby = new int[3];
//Dopóki nie znaleziono 3 liczb doskonałych
while (znalezione < 3) {
//Sprawdź czy x jest liczbą doskonałą
for (int i = 1; i <= (x/2); i++) {
if ((x % i) == 0)
suma_dzielnikow += i;
}
//Jeżeli x jest liczbą doskonałą to dodaj ją do tablicy
if (suma_dzielnikow == x) {
liczby[znalezione] = x;
++znalezione;
}
//Zwiększ x o jeden
++x;
suma_dzielnikow = 0;
}
//Wypisz znalezione liczby doskonałe
System.out.println("Trzy pierwsze liczby doskonale:");;
for (int e : liczby) {
System.out.print(e + ", ");
}
}
}