Cod sursa(job #1348340)
Utilizator | Data | 19 februarie 2015 17:25:03 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
#include <stdlib.h>
#define M 1999999973
int main()
{
FILE *in,*out;
in=fopen("lgput.in","r");
out=fopen("lgput.out","w");
int a, n, r, i, p = 1;
fscanf(in,"%d %d",&a, &n);
fclose(in);
while (n != 0){
if (n % 2 != 0)
p = (long long)p * a % M;
a = (long long)a * a % M;
n /= 2;
}
fprintf(out,"%d\n",p);
fclose(out);
return 0;
}