Cod sursa(job #2077167)

Utilizator ptudortudor P ptudor Data 27 noiembrie 2017 19:38:58
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 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*c)%P;
        }
        c=(c*c)%P;
    }
    return s;
}
int main()
{
    ifstream in("lgput.in");
    ofstream out("lgput.out");
    in>>n>>p;
    out<<la_put();
    out.close();
    in.close();
}