Cod sursa(job #2720772)

Utilizator LawrentiuTirisi Claudiu Lawrentiu 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;
}