Pagini recente » Cod sursa (job #1459601) | Cod sursa (job #883905) | Cod sursa (job #610637) | Cod sursa (job #602982) | Cod sursa (job #478401)
Cod sursa(job #478401)
#include <stdio.h>
#include <stdlib.h>
#define N 1999999973
long long lgput(int n, int p)
{
long long r;
if (p == 0) return 1;
else
{
if (p % 2 == 1)
{
r = lgput(n, (p - 1) / 2) % N;
return n * r * r;
}
else
{
r = lgput(n, p / 2) % N;
return r * r;
}
}
}
int main()
{
int n, p;
long long r;
FILE *f, *g;
f = fopen("lgput.in", "r");
g = fopen("lgput.out", "w");
fscanf(f, "%d", &n);
fscanf(f, "%d", &p);
r = lgput(n, p);
fprintf(g, "%lld\n", r % N);
fclose(f);
fclose(g);
return 0;
}