Cod sursa(job #3030470)

Utilizator OneShotStefBurlacenco Bayer Stefan OneShotStef Data 17 martie 2023 18:06:42
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.21 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;

int ridic(int n, int p)
{
    while (p % 2 != 0)
    {
        n = (n * n) % MOD;
        p /= 2;
    }
    while (p)
    {
        p--;
        rez = (rez * n) % MOD;
    }
    return rez;
}
int main()
{
    long long n, p;
    fin >> n >> p;
    fout<<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