Cod sursa(job #1934638)
| Utilizator | Data | 21 martie 2017 18:13:18 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#define DM 10000
using namespace std;
ifstream fi ("lgput.in");
ofstream fo ("lgput.out");
long long a, n;
long long putere (long long a, long long n)
{
if (n == 1)
return a%1999999973;
if (n == 0)
return 1%1999999973;
if (n%2 == 1)
return (putere (a, n - 1)*a)%1999999973;
return (putere (a, n/2)*putere(a, n/2))%1999999973;
}
int main ()
{
fi >> a >> n;
fo << putere(a, n);
return 0;
}
