Cod sursa(job #588144)
Utilizator | Data | 7 mai 2011 01:01:35 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<stdio.h>
#define mod 1999999973
int A;
int B;
unsigned long long MAX;
int nr = 0;
long long prod(long long a,long long B)
{
a %= mod;
if(B == 1)
return a;
else if(B%2)
return a*prod(a*a,B/2)%mod;
else
return prod(a*a,B/2);
}
int main()
{
FILE *f = fopen("lgput.in","r");
FILE *g = fopen("lgput.out","w");
fscanf(f,"%d %d",&A,&B);
fprintf(g,"%lld",prod(A,B));
fclose(g);
fclose(f);
return 0;
}