Pagini recente » Cod sursa (job #2651365) | Cod sursa (job #246606) | Cod sursa (job #540286) | Cod sursa (job #537380) | Cod sursa (job #515245)
Cod sursa(job #515245)
#include <fstream>
#include <math.h>
#define mod 1999999973
using namespace std;
unsigned long lgpowmod(unsigned long a, unsigned long b, unsigned int c)
{
if (b == 0) {
return 1;
} else {
if (b % 2 == 0) {
return (unsigned long) pow(lgpowmod(a, b / 2, c), 2) % c;
} else {
return ((a % c) * ((unsigned long) pow(lgpowmod(a, (b - 1) / 2, c), 2) % c)) % c;
}
}
}
int main()
{
unsigned long a, b;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
fin >> a >> b;
fout << lgpowmod(a, b, mod);
fin.close();
fout.close();
return 0;
}