Cod sursa(job #2159157)

Utilizator ale.sicobeanAlexandra Sicobean ale.sicobean Data 10 martie 2018 19:39:05
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
const int t=1999999973;
int main()
{
    int n,p;
    fin>>n>>p;
    int a=n;
    int 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;
    return 0;
}