Cod sursa(job #449998)
Utilizator | Data | 7 mai 2010 15:47:32 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
const long long D=1999999973;
long long a,p;
void lgput(long long a,long long n)
{
long long p=1;
while(n!=0)
{
if(n%2!=0)
p=((p%D)*(a%D))%D;
a=((a%D)*(a%D))%D;
n/=2;
}
printf("%ld", p);
}
void citire()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%ld%ld", &a, &p);
lgput(a,p);
}
int main()
{
citire();
return 0;
}