Cod sursa(job #2070073)

Utilizator Bulboaca_EugenBulboaca Alexandru Eugen Bulboaca_Eugen Data 19 noiembrie 2017 10:59:23
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
using namespace std;
int putere(int a, int b)
{
    int p=1;
    while(b>1)
    {
        if(b%2==1)
            {
                p=p*a;
                b--;
            }
        else
        {
                a=a*a;
                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;
}