Cod sursa(job #2047953)
Utilizator | Data | 25 octombrie 2017 17:29:18 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <fstream>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
long long n,p;
const int mod=1999999973;
int plog(long long p)
{
int r;
if (p==1)
return n;
r=plog(p/2);
r=(1ll*r*r)%mod;
if (p%2!=0)
r=(1ll*r*n)%mod;
return r;
}
int main()
{
fin>>n>>p;
fout<<plog(p);
return 0;
}