I_P_W14_M04_Java Własności liczb
Liczby doskonałe
Kolejną ciekawą grupą liczb są liczby doskonałe. Wyróżniająca je właściwość również dotyczy dzielników.
Aby daną liczbę naturalną można było nazwać doskonałą, suma jej dzielników właściwych musi być równa tej liczbie. Przykładami takich liczb są:
6,
28,
496,
8128.
Przyjrzyjmy się zatem dokładnie liczbie 6:
dzielniki właściwe: 1, 2, 3.
suma dzielników właściwych: 1 + 2 + 3 = 6.
Czy jest to liczba doskonała? TAK
Podobnie sprawdzimy liczbę 28:
dzielniki właściwe: 1, 2, 4, 7, 14.
suma dzielników właściwych: 1 + 2 + 4 + 7 + 14 = 28.
Czy jest to liczba doskonała? TAK
Napiszmy teraz algorytm w postaci pseudokodu, który sprawdzi, czy dana liczba jest liczbą doskonałą.
Specyfikacja:
Dane:
liczba– liczba do sprawdzenia; liczba naturalna
Wynik:
Program wypisuje komunikat Liczba jest liczbą doskonałą lub Liczba nie jest liczbą doskonałą.
Zapisany za pomocą pseudokodu algorytm sprawdzający, czy dana liczba jest liczbą doskonałą, będzie wyglądał następująco:
Pierwszym krokiem jest wprowadzenie liczby, którą chcemy sprawdzić, i zapisanie jej wartości w zmiennej liczba. Następnie zostaje zadeklarowana zmienna sumaDzielników. Zmienna, jak wskazuje jej nazwa, będzie służyła do sumowania dzielników właściwych zadanej liczby.
Następnie zostaje zadeklarowana pętla, która iteruje po liczbach z przedziału , sprawdzając, czy dana wartość i jest dzielnikiem sprawdzanej liczby. Jeżeli tak, to następuje modyfikacja wartości zmiennej sumaDzielników. Wartość sumaDzielników zostaje zwiększona o wykryty dzielnik.
Ostatnim krokiem jest sprawdzenie, czy sumaDzielników jest równa sprawdzanej liczbie. Jeśli tak, oznacza to, że liczba ta jest liczbą doskonałą.
Kod programu w języku Java wygląda następująco: