Cod sursa(job #2787183)

Utilizator adelinapetreAdelina Petre adelinapetre Data 22 octombrie 2021 17:54:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>
using namespace std;
ifstream cin ("lgput.in");
ofstream cout ("lgput.out");
long long int lgput(int n, int m, int p)
{
    if (m==1)
        return n;
    long long a=lgput(n,m/2,p);
    if (m%2==0)
        return 1LL*a*a%p;
    else
        return 1LL*((a*a)%p*n%p);
}
int main()
{
    int n,p;
    cin>>n>>p;
    cout<<lgput(n,p,1999999973);
    return 0;
}