Cod sursa(job #2077171)

Utilizator ptudortudor P ptudor Data 27 noiembrie 2017 19:40:27
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>
using namespace std;
unsigned int n,p;
const int P=1999999973;
int la_put()
{
    int i,r,c=n,s=1;
    while (p>0)
    {
        r=p%2;
        p=p/2;
        if (r==1)
        {
            s=((s%P)*(c%P))%P;
        }
        c=((c%P)*(c%P))%P;
    }
    return s;
}
int main()
{
    ifstream in("lgput.in");
    ofstream out("lgput.out");
    in>>n>>p;
    out<<la_put();
    out.close();
    in.close();
}