Cod sursa(job #1277228)
| Utilizator | Data | 27 noiembrie 2014 13:29:00 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
#define Modul 1999999973
using namespace std;
int n,x;
inline void Citire()
{
ifstream fin("lgput.in");
fin>>n>>x;
fin.close();
}
inline long long Ridicare(long long a,long long b)
{
if(b==0) return 1;
if(b==1) return a;
if(b%2==0) return Ridicare(a*a%Modul,(b/2)%Modul);
return a%Modul*Ridicare(a*a%Modul,((b-1)/2)%Modul);
}
inline void Afisare()
{
ofstream fout("lgput.out");
fout<<Ridicare(n,x)%Modul;
fout.close();
}
int main()
{
Citire();
Afisare();
return 0;
}
