Cod sursa(job #1730568)
Utilizator | Data | 17 iulie 2016 07:46:57 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <iostream>
#include <fstream>
#define ll long long
#define MOD 1999999973
using namespace std;
ifstream si("lgput.in");
ofstream so("lgput.out");
ll n,exp,sol;
void ridput()
{
sol=1;
while(exp)
{
if(exp&1)
{
sol=(sol*n)%MOD;
}
n=(n*n)%MOD;
exp>>=1;
}
}
int main()
{
si>>n>>exp;
ridput();
so<<sol<<'\n';
return 0;
}