Cod sursa(job #1521186)
Utilizator | Data | 9 noiembrie 2015 23:46:32 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
# include <fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
int n, m, p;
long lgPut(int baza, int puterea)
{
int rez=1, power=baza, exp=puterea;
while (exp)
{
if (exp&1)
rez=(1LL*rez*power)%m;
power=(1LL*power*power)%m;
exp>>=1;
}
return rez;
}
int main()
{
int n, p;
f>>n>>p;
m=1999999973;
g<<lgPut(n, p);
return 0;
}