Cod sursa(job #1529785)
Utilizator | Data | 21 noiembrie 2015 11:19:28 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
using namespace std;
int main()
{
FILE *fin=fopen("lgput.in","r");
FILE *fout=fopen("lgput.out","w");
long long n,p,sol=1;
fscanf(fin,"%lld%lld",&n,&p);
while(p!=1){
if(p%2!=0){
sol=(sol*n*n*n)%1999999973;
p=p/2;
}
else{
sol=(sol*n*n)%1999999973;
p=p/2;
}
}
fprintf(fout,"%lld",sol);
return 0;
}