Cod sursa(job #2053136)

Utilizator vladsirbu23Vlad Sirbu vladsirbu23 Data 31 octombrie 2017 15:44:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");

int main()
{
    unsigned long long i, n, p , sol ,a , k=1999999973;

    f>>n>>p;
    sol=1;
    a = n;
    for (i = 0; (1<<i) <= p; ++ i)
    {  if ( ((1<<i) & p) > 0)
           sol=( sol%k * (a%k))%k;
       a=(a%k * (a%k))%k;
    }
    g<<sol<<'\n';

f.close();
g.close();
return 0;
}