Cod sursa(job #1083706)
Utilizator | Data | 16 ianuarie 2014 11:56:52 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <iostream>
#include <fstream>
#define M 1999999973
using namespace std;
ifstream d("lgput.in");
ofstream o("lgput.out");
long long x,y;
long long putere(long long b,long long p)
{
if(p==1)
return b;
if(p%2==1)
return b*putere(b*b%M,p/2)%M;
if(p%2==0)
return putere(b*b%M,p/2)%M;
}
int main()
{
d>>x>>y;
o<<putere(x,y);
return 0;
}