Cod sursa(job #2767152)

Utilizator dinuionirinel10@gmail.comDinu Ion Irinel [email protected] Data 4 august 2021 22:07:06
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#define MODULO 1999999973
 long long int power_function(int number, int exponent) {

    long long int product = 1;
    while (exponent != 0) {
        if (exponent % 2 == 1) {
            product = 1LL * (product * number) % MODULO;
        }
        number = 1LL * (number * number) % MODULO;
        exponent = exponent / 2;
    }
    return product;
}
int main(void) {

    std::ifstream fin("lgput.in");
    std::ofstream fout("lgput.out");
    int number, exponent;
    fin >> number >> exponent;
    fout << power_function(number, exponent);
    return 0;
}