Cod sursa(job #456075)
Utilizator | Haller Emanuela emanuela.haller | Data | 14 mai 2010 20:05:48 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include<stdio.h>
#define MOD 1999999973
long long putere(long long n,long long p)
{
long long r;
if (p==0) return 1;
else
if (p%2==0)
{
r=(putere(n,p/2))%MOD;
return (r*r)%MOD;
}
else
{
r=(putere(n,(p-1)/2))%MOD;
return (r*r*n)%MOD;
}
}
int main()
{
freopen("lgput.txt","r",stdin);
freopen("lgput.out","w",stdout);
long long n,p;
scanf("%lli %lli",&n,&p);
printf("%lli",putere(n,p));
return 0;
}