Cod sursa(job #240697)
Utilizator | Data | 8 ianuarie 2009 10:29:14 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.29 kb |
#include<iostream>
#include<stdio.h>
#define r 1999999973
FILE *f=fopen("lgput.in","r"),*g=fopen("lgput.out","w");
int main()
{
long long a,b,s=1;
fscanf(f,"%lld %lld",&a,&b);
a=a%r;
while(b)
{
if(b%2)
s=s*a%r;
a=a*a%r;
b/=2;
}
fprintf(g,"%lld\n",s);
return 0;
}