Cod sursa(job #742576)
Utilizator | Data | 30 aprilie 2012 17:41:12 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.34 kb |
#include<cstdio>
#define MOD 1999999973
using namespace std;
int main()
{
freopen("lgput.in","r",stdin);freopen("lgput.out","w",stdout);
int n,p;
long long s;
scanf("%d%d",&n,&p);
s=n;
while(p!=1)
{
if(p&1)
{
p--;
s=(s*n)%MOD;
}
else
{
p>>=1;
s=(s*n)%MOD;
n=(n*n)%MOD;
}
}
printf("%lld",s);
}