Cod sursa(job #1607273)

Utilizator valentinoMoldovan Rares valentino Data 20 februarie 2016 22:58:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <algorithm>
#include <iostream>
#include <fstream>
#define mod 1999999973

using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

long long putere(long long n, long long p)
{
    if(p == 1)
        return n;
    else
    {
        if(p%2==0) return  putere( (n*n) % mod , p/2 )  % mod;
        else return (n * putere((n*n) % mod , p/2)) % mod;
    }
}
int main()
{
    long long n, p;
    f >> n >> p;
    g << putere(n,p) << '\n';
}