Cod sursa(job #2270116)

Utilizator RalucaGrigoreGrigore Raluca RalucaGrigore Data 27 octombrie 2018 09:23:52
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include<fstream>>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");

int main()
{
    int N,P,r=1,rest;
    f>>N>>P;
    rest=N;
    while(P!=1)
    {
        if(P%2==0)
        {
            P=P/2;
            N=N*N%1999999973;
        }
        else
        {
            P=P-1;
            r=r*rest;
        }
    }
        N=N*r;
        g<<N%1999999973;
    return 0;
}