Cod sursa(job #2145753)

Utilizator nicolaefilatNicolae Filat nicolaefilat Data 27 februarie 2018 16:35:50
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
#define MAX 1999999973

using namespace std;

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

long long a,b;

long long putere(long long a,long long b){
    long long rez = 1;
    while(b){
        if(b % 2 == 0){
            a *= a;
            b /= 2;
        }else{
            rez *= a % MAX;
            b--;
        }
    }
    return rez;
}

int main()
{
    in>>a>>b;
    out<<putere(a,b);
    return 0;
}