Cod sursa(job #3228157)

Utilizator eZ_tAtDarius Tat eZ_tAt Data 6 mai 2024 14:41:54
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout("lgput.out");
#define MOD 1999999973

int putere(long long a, int n) {
    if(n == 0)  return 1;
    if(n % 2 == 0) return (putere(a, n/2) * putere(a, n/2)) % MOD;
    else return (a * putere(a, n-1)) % MOD;
}

int main() {
    ios_base::sync_with_stdio(false);
    fin.tie(NULL);
    fout.tie(NULL);
    int a, n;
    fin >> a >> n;
    fout << putere(a, n) << endl;
    return 0;
}