Cod sursa(job #2189988)

Utilizator andreibudoiAndrei Budoi andreibudoi Data 29 martie 2018 16:04:05
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <iostream>
#include <fstream>
using namespace std;
const int mod=1999999973;
unsigned int put (unsigned int a,unsigned int b)
{

    if(b==1)return a%mod;
    if(b%2==1)return 1LL*a*put(a,b-1)%mod;
    else
    {
        unsigned int p=put(a,b/2);
        return 1LL*p*p%mod;
    }




}

int main()
{
    unsigned int a,p;
    cin>>a>>p;
    cout<<put(a,p);

    return 0;
}