Cod sursa(job #2720772)
| Utilizator | Data | 11 martie 2021 11:47:32 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
#define prime 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream o("lgput.out");
int main()
{
int a, b;
f >> a >> b;
bool hadOne = 0;
int c, r = 1;
for (int i = sizeof(b) * 8 - 1; i >= 0; i--)
{
c = (b >> i) & 1;
if (hadOne || c)
{
cout << c << " ";
hadOne = 1;
r = r * r;
if (c)
{
r *= a;
}
}
}
o << r % prime;
}