Cod sursa(job #2070077)

Utilizator Bulboaca_EugenBulboaca Alexandru Eugen Bulboaca_Eugen Data 19 noiembrie 2017 11:03:33
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
using namespace std;
long long putere(long long a, long long b)
{
    int p=1;
    while(b>1)
    {
        if(b%2==1)
            {
                p=p*a%1999999973;
                b--;
            }
        else
        {
                a=a*a%1999999973;
                b/=2;
        }
    }
    return a*p;
}
int main()
{
    ifstream fin("lgput.in");
    ofstream fout("lgput.out");
    long long N, P, X;
    fin >> N >> P;
    if(P!=0)
        X= putere(N,P);
    else X=1;
    fout << X%1999999973;
    return 0;
}