Test doskonałości¶
Opis problemu¶
Implementation¶
Description¶
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, żenjest 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.