Cod sursa(job #658641)
| Utilizator | Data | 9 ianuarie 2012 11:20:49 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include<fstream>
using namespace std;
const int m=1999999973;
long long int putere(const long long int& a, const long long int& b)
{
if(b==1)
return a%m;
long long int prod=putere(a,b/2);
if(!(b&1))
return (prod*prod)%m;
return (a*(prod*prod)%m)%m;
}
int main()
{
ifstream f("lgput.in");
ofstream g("lgput.out");
long long int a,b;
f>>a>>b;
g<<putere(a,b);
return 0;
}
