Cod sursa(job #2533757)

Utilizator marius004scarlat marius marius004 Data 29 ianuarie 2020 17:42:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>

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

const unsigned long long MOD = 1999999973;
unsigned long long a,b;

unsigned long long lgput(unsigned long long a,unsigned long long b){
    
    unsigned long long sol = 1;
    
    while(b){
        
        if(b % 2)
            sol = (sol * a) % MOD;
        
        a = (a * a) % MOD;
        b >>= 1;
    }
    
    return sol;
}

int main(){
    
    f >> a >> b;
    
    g << lgput(a,b);
    
    return 0;
}