Cod sursa(job #2201283)

Utilizator bojemoiRadu Mamaliga bojemoi Data 4 mai 2018 08:03:07
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>
#define maxi 1999999973
using namespace std;

ifstream cin("lgput.in");
ofstream cout("lgput.out");


long long nlap(int n, int p){
    if(p==1) return n;
    if(p==0) return 0;
    if(p%2==0) return nlap((n*n)%maxi, p/2);
    else return (nlap((n*n)%maxi, (p-1)/2)*n)%maxi;
}


int main()
{
    long long n, p;
    cin>>n>>p;
    cout<<nlap(n,p);


    return 0;
}