Cod sursa(job #2647527)

Utilizator MateGMGozner Mate MateGM Data 5 septembrie 2020 10:53:47
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream be("lgput.in");
ofstream ki("lgput.out");
#define ll long long int
const ll MOD = 1e9 + 7;
long long x=1;
long long  hatvany( int n,int p)
{

    if(p!=0){
            x=hatvany(n,p/2)%MOD;
    if(p%2==0){

        return (x*x)%MOD;
    }
    else{
            return (x*x)%MOD*n%MOD ;}}
    else return x;

}
int main()
{
    long long n, p;

    be>>n>>p;

    ki<<hatvany(n,p);

    return 0;
}