Cod sursa(job #2683005)

Utilizator mihai002016Zaharia Teodor Mihai mihai002016 Data 10 decembrie 2020 10:17:54
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#include <iostream>

using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long int n,p,a;
void lgput();
int main()
{
        fin >> n >> p;
        a = 1;
        lgput();
        fout << n;
    return 0;
}

void lgput()
{
    int n1 = n, a1 = a;
    if (2*a <= p)
    {
        n = (n * n)% 1999999973;
        a = a * 2;
        lgput();
        if (a + a1 == p) {
            n = (n * n1) % 1999999973;
            a = a + a1;
        }
    }
}