Cod sursa(job #1969226)
Utilizator | Data | 18 aprilie 2017 12:41:23 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <bits/stdc++.h>
#define MOD 1999999973
using namespace std;
int p;
long long ans=1, n;
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%d %d", &n, &p);
while(p>0)
{
if(p&1)
{
ans*=n; ans*=1LL;
ans%=MOD;
}
n=(n*n)%MOD;
p>>=1;
}
printf("%lld",ans);
return 0;
}