Cod sursa(job #925493)
Utilizator | Data | 24 martie 2013 16:25:53 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
#define MODULO 1999999973
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int B,E;
void Read()
{
fin>>B>>E;
fin.close();
}
long long Prod(int a,int b)
{
return (a*b)%MODULO;
}
long long Fun(int e)
{
if(e==1)
return B;
long long nr;
nr=Fun(e/2);
nr=Prod(nr,nr);
if(e%2==1)
nr=Prod(nr,B);
return nr;
}
int main()
{
Read();
fout<<Fun(E);
fout.close();
return 0;
}