Cod sursa(job #3211580)

Utilizator mirunabudacaMiruna B mirunabudaca Data 9 martie 2024 15:46:51
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
int i, j, n, s, maxi, k, sf, sff, in, p;

long long int putere(int x)
{
    long long int rez;
    if(x == 1)
        return n;
    if(x%2 == 0)
    {
        rez=putere(x/2);
        return (rez*rez+MOD)%MOD;
    }
    if(x%2 == 1)
    {
        rez=putere(x/2);
        return (((rez*rez+MOD)%MOD)*n+MOD)%MOD;
    }

}

    int main()
    {
        fin>>n>>p;
        fout<<putere(p);
    }