Cod sursa(job #2987046)

Utilizator Cristocea_TeodorCristocea Teodor Andrei Cristocea_Teodor Data 1 martie 2023 21:16:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>

using namespace std;

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

int lgpt(int a, int b)
{
    if(b == 1){
        return a;
    }
    if(b%2==1)
    {
        return a*lgpt(a, b-1);
    }
    return lgpt(a, b/2)*lgpt(a,b/2); // 2^7 == 2^6 * 2 == 2^3 * 2^3 * 2 == 2^2 * 2^2 * 2 * 2 * 2 = 2 * 2 * 2 * 2 * 2 * 2 * 2 == 2^7
}

int main()
{
    int a,b;
    in>>a>>b;
    out<<lgpt(a,b)%1999999973;
    return 0;
}