Cod sursa(job #1525249)
| Utilizator | Data | 14 noiembrie 2015 21:28:41 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <stdio.h>
#include <stdlib.h>
const int mod=1999999973;
FILE *f,*g;
long long exp(int x,int i)
{
if(i==0) return 1;
else if (i==1) return x;
if(i%2==0) return exp(x*x,i/2);
else if(i%2==1) return x*exp(x*x,(i-1)/2);
}
int main()
{
int n,p;
long long z;
f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
fscanf(f,"%d",&n);
fscanf(f,"%d",&p);
z=exp(n,p);
fprintf(g,"%lld",z%mod);
fclose(f);
fclose(g);
return 0;
}
