Cod sursa(job #2143539)

Utilizator sabinandreiBocan Sabin Andrei sabinandrei Data 26 februarie 2018 08:33:32
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");

unsigned long long a,b,pw,i,ans,MOD=1999999973;

int main()
{
fin >> a >> b;
unsigned long long ans = 1;
unsigned long long pw = 1;
for(int i = 1; i <= b; i <<= 1) {
 if(i & b) ans = (ans * pw) % MOD;
 pw *= a;
 pw %= MOD;
}
fout << ans << endl;
    return 0;
}