Cod sursa(job #2173924)

Utilizator radumihaisirbuSirbu Radu-Mihai radumihaisirbu Data 16 martie 2018 09:42:41
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>

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