Cod sursa(job #2173961)

Utilizator radumihaisirbuSirbu Radu-Mihai radumihaisirbu Data 16 martie 2018 10:00:02
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
const int MOD = 1999999973;
long long put (long long x, long long n)
{
    if ( n == 0) return 1;
    else if ( n == 1) return x;// % MOD;
    else if ( n % 2 == 0) return put(x * x, n / 2)% MOD;
    else return x * put(x * x, (n - 1)/ 2) % MOD;
}
int main()
{
    long long n, x;
    fin >> x >> n;
    fout << put (x, n);
    fout.close();
    return 0;
}