Cod sursa(job #788551)
Utilizator | Data | 15 septembrie 2012 12:51:33 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <cstdio>
#define Mod 1999999973
typedef long long ll;
ll n,k;
ll pow(ll k)
{
if(k==1)return n%Mod; else
{
ll z=pow(k/2);
if(k%2)return z*z%Mod*n%Mod; else
return z*z%Mod;
}
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld %lld",&n,&k);
printf("%lld\n",pow(k));
return 0;
}