Ocena użytkownikóww: ***** / 6
Nadesłany przez Michał Witaszek, 11 lipca 2013 10: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.
automorficzne.cpp:
/*
LCZBY AUTOMORFICZNE
Michał Witaszek
dla algorytm.org
*/
//Program sprawdza czy podana liczba o podstawie dziesiętnej jest automorficzna
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
unsigned int //liczby calkowite dodatnie
n, // liczba
m=10, // podstawa liczby - system dziesiętny
a,b; // zmienne pomocnicze
cout << "LICZBY AUTOMORFICZNE\n\n";
cout << "Podaj liczbe calkowita: ";
cin >> n; //pobieramy liczbę
b=m;//ustaw b na wartość podstawy liczby
while(n>b)//dopóki b jest większe od badanej liczby
{
b*=m; //przemnóż b przez podstawę
}
a = (n*n) % b ; //przypisz do a wartość (n^2) mod b
if (a==n) // jeśli reszta z dzielenia (n^2) / b jest równa n,
// to badana liczba n jest automorficzna
cout << "Liczba "<<n<<" jest automorficzna"<<endl;
else
cout << "Liczba "<<n<<" nie jest automorficzna"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}