Cod sursa(job #1606340)

Utilizator danyvsDan Castan danyvs Data 20 februarie 2016 09:57:09
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

long long Lg (long long x, long long n)
{
    if (n == 1) return x;
    else
        {
         if (n % 2 == 1) return (x * Lg (x, n-1)) % 1999999973;
         else return (((Lg (x, n/2)) % 1999999973) * ((Lg (n , x/2)) % 1999999973)) % 1999999973;
        }
}

int main()
{
    long long x, n;
    fin >> x >> n;
    fout << Lg (x, n) << "\n";
    fin.close();
    fout.close();
    return 0;
}