Cod sursa(job #2562018)
Utilizator | Brasoveanu Mircea denmircea | Data | 29 februarie 2020 11:40:24 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream>
#define mod 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned int lgput(unsigned int a,unsigned int b)
{
if(!b)
return 1;
if(b%2)
return 1LL*lgput(1LL*a*a%mod,b/2)*a%mod;
return lgput(1LL*a*a%mod,b/2)%mod;
}
int main()
{
unsigned int a,b;
fin>>a>>b;
fout<<lgput(a,b);
}