Cod sursa(job #2214735)

Utilizator dia.ionescuIonescu Diana dia.ionescu Data 19 iunie 2018 22:39:38
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin ("lgput.in");
ofstream fout ("lgput.out");

#define NR 1999999973;

int main()
{
    int N, P, i, sol = 1, b;
    fin >> N >> P;
    /*for (i = 0; i <= P; i++) {
        if ((1 << i) & P) {
                sol = sol * N;
        }
        N = N * N;
    }*/

    while (P) {
        if (P % 2) {
            sol = sol * N;
            P --;
        }
        N = N * N;
        P = P /2;
    }
    fout << sol % NR;
}