Cod sursa(job #2159168)

Utilizator ale.sicobeanAlexandra Sicobean ale.sicobean Data 10 martie 2018 19:45:09
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
const int t=1999999973;
long long a,n,rez,p;
int main()
{
    fin>>n>>p;
    a=n;
    rez=1;
    for(int i=0;(1<<i)<=p;i++)
    {
        if(((i<<1)&p)>0)
            rez=(rez*a)%t;
        a=(a*a)%t;
    }
    fout<<rez<<'\n';
    return 0;
}