Cod sursa(job #2053862)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 1 noiembrie 2017 14:32:47
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

#define rest 1999999973

using namespace std;

long long int n,p;

long long int putere (long long int a,long long int b)
{
    if(b==0)
    {
        return 1;
    }
    if (b==1)
    {
        return a;
    }
    else
    {
        int t=putere(a,b/2)%rest;
        return (t*t%rest)*(putere(a,b%2)%rest);
    }
}

int main()
{
    ifstream fin ("lgput.in");
    ofstream fout ("lgput.out");
    fin>>n>>p;
    fout<<putere(n,p);
}