Cod sursa(job #2079496)

Utilizator marcogoldPop Mihali Marco Silviu marcogold Data 1 decembrie 2017 14:26:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <iostream>
#include <fstream>
using namespace std;

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


int main()
{
    int b,p,sol=1,c=1999999973;
    fi>>b>>p;

    for(int i=0; i<31; i++)
    {
        if(p&(1<<i))
        sol=sol*b;
        b=b*b;
        sol=sol%c;
        b=b%c;


         }
    fo<<sol;
    return 0;
}