Ocena użytkownikóww: ***** / 2
Nadesłany przez Marian, 26 lutego 2011 16:03
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.
npm_1_c.cpp:
// Naiwne Potegowanie Modularne
// www.algorytm.org
#include<iostream>
using namespace std;
int main()
{
int b, n;
long long int a, wynik = 1;
cout << "Program oblicza wartosc wyrazenia a^b mod n.\nPodaj a: ";
cin >> a;
cout << "Podaj b: ";
cin >> b;
cout << "Podaj n: ";
cin >> n;
cout << a << "^" << b << " mod " << n << " = ";
a %= n; // a = a mod n
for (int i = 0; i < b; i++)
{
wynik *= a; // wynik = wynik * a
wynik %= n; // wynik = wynik mod n
}
cout << wynik << endl;
return 0;
}