Cod sursa(job #1485814)
| Utilizator | Data | 13 septembrie 2015 02:41:06 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include<cstdio>
#define MOD 1999999973
long long a,b;
FILE *f,*g;
long long lgput(long long a,long long b){
if(b==1)
return a;
if(b%2==0)
return ( lgput(a,b/2) * lgput(a,b/2) ) % MOD;
if(b%2==1)
return ( ( ( lgput(a,b/2) * lgput(a,b/2) ) % MOD ) * a ) % MOD;
}
int main(){
f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
fscanf(f,"%lld%lld",&a,&b);
fprintf(g,"%lld",lgput(a,b));
fclose(f);
fclose(g);
return 0;
}
