Pagini recente » Cod sursa (job #2690788) | Cod sursa (job #878803) | Rating Calancea Roxana (roxana_maria) | Cod sursa (job #1663972) | Cod sursa (job #478405)
Cod sursa(job #478405)
#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);
r = (r * r) % N;
r = (n * r) % N;
}
else
{
r = lgput(n, p / 2);
r = (r * r) % N;
}
}
return 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);
fclose(f);
fclose(g);
return 0;
}