Cod sursa(job #1104159)
Utilizator | Alexa Tudose Alexa2001 | Data | 10 februarie 2014 15:25:09 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <cstdio>
using namespace std;
long long n,p;
long long functie(long long n,long long p,long long k)
{
if(p%2==1) {--p;k=n*k%1999999973;}
n=n*n%1999999973;
if(p>0) return functie(n,p/2,k);
else return k;
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld %lld",&n,&p);
printf("%lld\n",functie(n,p,1));
return 0;
}