Cod sursa(job #1978690)

Utilizator RaresEGaySopterean Adrian RaresEGay Data 8 mai 2017 16:58:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#define MOD 1999999973

using namespace std;

unsigned long long x, y = 1, n;

ifstream f ("lgput.in");
ofstream g ("lgput.out");

int main(){
    f >> x >> n;
    while(n > 1){
        if(n % 2 == 0){
            x = ((x % MOD) * (x % MOD)) % MOD;
            n /= 2;
        }
        else{
            y = ((x % MOD) * (y % MOD)) % MOD;
            x = ((x % MOD) * (x % MOD)) % MOD;
            n = (n - 1) / 2;
        }
    }
    g << ((x % MOD) * (y % MOD)) % MOD;
}