Cod sursa(job #1525240)
Utilizator | Data | 14 noiembrie 2015 21:17:31 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
#include <stdlib.h>
#define MOD 1999999973
FILE *f,*g;
long long exp(int x,int i)
{
if (i==1) return x;
if(i%2==0) return exp(x*x,i/2);
else if(i%2==1) return 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;
}