Cod sursa(job #583662)
Utilizator | Data | 21 aprilie 2011 17:58:08 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
using namespace std;
const int MOD = 1999999973;
unsigned int N, P;
long long result = 1;
int main()
{
ifstream fin("lgput.in");
ofstream fout("lgput.out");
fin >> N >> P;
long long step = N;
for (long long i = 1; i <= P; i <<= 1)
{
if (P & i) result *= step;
step *= step;
step %= MOD, result %= MOD;
}
fout << result;
fin.close();
fout.close();
}