Cod sursa(job #3211098)

Utilizator user039130Walter White user039130 Data 8 martie 2024 15:32:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
using namespace std;

const long long MOD = 1999999973;

long long lgput(long long x, long long n) {
    if (n == 0) return 1;
    long long half = lgput(x, n / 2) % MOD;
    long long result = (half * half) % MOD;
    if (n % 2 == 1) {
        result = (result * x) % MOD;
    }
    return result;
}

int main() {
    ifstream fin("lgput.in");
    ofstream fout("lgput.out");
    
    long long x, y;
    fin >> x >> y;
    fout << lgput(x, y);

    fin.close();
    fout.close();
    
    return 0;
}