Test doskonałości¶
Opis problemu¶
Implementacja¶
Opis¶
Funkcja isPerfect
przyjmuje jeden argument: liczbę n
, którą chcemy sprawdzić pod kątem bycia liczbą doskonałą.
- Generowanie dzielników: najpierw funkcja generuje listę dzielników
n
, wykorzystując dwa wyrażenia list składanych. Pierwsze z nich znajduje dzielniki od 1 do pierwiastka kwadratowego zn
, a drugie od pierwiastka kwadratowego do 2, z dodatkowym warunkiem eliminującym powtórzenia i wyłączającym samą liczbęn
. - Sumowanie dzielników: następnie obliczana jest suma tych dzielników za pomocą funkcji
sum
. - Porównanie z liczbą
n
: funkcja sprawdza, czy suma dzielników jest równa liczbien
. Jeśli tak, oznacza to, żen
jest liczbą doskonałą i funkcja zwracaTrue
. W przeciwnym razie zwracaFalse
.
W części main
programu, definiujemy liczbę n
(w tym przypadku 6) i sprawdzamy za pomocą funkcji isPerfect
, czy jest to liczba doskonała. Wynik jest wyświetlany, informując, czy n
spełnia kryteria liczby doskonałej.