Cod sursa(job #3030570)

Utilizator OneShotStefBurlacenco Bayer Stefan OneShotStef Data 17 martie 2023 18:47:03
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.25 kb
// ridicarea la putere in timp logaritmic.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <fstream>
#define MOD 1999999973


using namespace std;

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

long long rez=1;

long long ridic(long long n, long long p)
{
    while (p) {
        if (p % 2 == 1)
        {
            p--;
            rez = (rez * n) % MOD;
        }
        n = (n * n) % MOD;
        p /= 2;
    }
    return rez % MOD;
}
int main()
{
    long long n, p;
    cin >> n >> p;
    cout<<ridic(n, p);
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file