Cod sursa(job #1760278)
Utilizator | Data | 20 septembrie 2016 17:11:44 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,k,nr=1;
FILE *in=fopen("lgput.in","r");
fscanf(in,"%d %d",&n,&k);
fclose(in);
long long int p=n;
while(nr*2<=k){
p=(p*p)%1999999973;
nr=nr*2;
}
nr=nr/2;
while(nr<k){
p=(p*n)%1999999973;
nr++;
}
FILE *out=fopen("lgput.out","w");
fprintf(out,"%lld",p);
return 0;
}