Liczby doskonałe
Liczba doskonała to takie liczba, której suma wszystkich dzielników naturalnych – ale bez niej samej – jest równa tej liczbie. Umiejętność sprawdzenia czy dana liczba jest liczbą doskonałą może pojawić się na egzaminie maturalnych z informatyki.
Spis treści
Liczba doskonała
Liczb doskonałych jest bardzo mało. Przykładowe liczby doskonałe to 6, 28, 496 i 8128. Bardzo szybko rosną dlatego ciężko wyznaczyć ich dużą ilość. Aby sprawdzić czy dana liczba jest liczbą doskonałą wystarczy:
- znaleźć jej wszystkie dzielniki
- zsumować dzielniki i sprawdzić czy są równe naszej liczbie
Dzielnik naturalny dzieli daną liczbę bez reszty. Można bardzo łatwo sprawdzić czy liczba jest dzielnikiem jakiejś liczby wykorzystując operator dzielenia modulo.
Liczba doskonała C++
Algorytm nie jest zbyt optymalny, ponieważ polega na iteracji wszystkich liczb mniejszych od liczby sprawdzanej i poddaniu ich dzieleniu. Uważam, że w zupełności wystarczy na maturę:
#include <iostream>
using namespace std;
int main()
{
int liczba;
int suma = 0;
cout << "Wpisz liczbe" << endl;
cin >> liczba;
// zsumuj dzleniki
for (int i = 1; i <= (liczba / 2); i++)
{
if (liczba % i == 0)
{
suma = suma + i;
}
}
if (suma == liczba && liczba > 0)
{
cout << "Liczba jest doskonala";
}
else
{
cout << "Liczba nie jest doskonala";
}
system("PAUSE >nul");
return 0;
}