Cod sursa(job #1449521)
Utilizator | Data | 9 iunie 2015 21:26:13 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <cstdio>
#define m 1999999973
using namespace std;
int main(){
FILE *f1,*f2;
f1=fopen("lgput.in","r");
f2=fopen("lgput.out","w");
int n,p,s=1;
fscanf(f1,"%d %d",&n,&p);
while(p){
if(p%2==1){
s=(1LL*s*n) % m;
}
n=(1LL*n*n) % m;
p/=2;
}
fprintf(f2,"%d\n",s);
fclose(f1);
fclose(f2);
}