Cod sursa(job #3162506)

Utilizator GoreaRaresGorea Rares-Andrei GoreaRares Data 29 octombrie 2023 12:45:18
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>
#define MOD 1999999973
#define int unsigned long long

using namespace std;

int lgput(int n, int p)
{
    int nr = 1;
    while(p > 0)
    {
        if(p % 2 == 1)
        {
            nr = nr * n % MOD;
        }
        p = p / 2;
        n = n * n % MOD;
    }
    return nr;
}

signed main()
{
    ifstream cin("lgput.in");
    ofstream cout("lgput.out");
    int n, p;
    cin >> n >> p;
    cout << lgput(n, p);
    return 0;
}