Cod sursa(job #1124839)
Utilizator | Data | 26 februarie 2014 14:00:42 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <cstdio>
FILE *f=fopen("lgput.in", "r");
FILE *g=fopen("lgput.out", "w");
int st[25], nr;
long long put(long long a, long long b){
int p=1;
while(b!=0){
if(b%2==1){
p=(p*a)%1999999973;
--b;
}
a=(a*a)%1999999973;
b=b/2;
}
return p;
}
int main()
{
long long a, b;
fscanf(f, "%lld%lld", &a, &b);
fprintf(g, "%lld", put(a, b));
return 0;
}