Cod sursa(job #1821067)

Utilizator UnrealHerodsfg asdfgsa awet UnrealHero Data 2 decembrie 2016 15:47:38
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>

using namespace std;
#define m 1999999973

long power(long n, long p){
    long i,sol=1;
    for (i=0;(1<<i)<=p;++i){
        if (((1<<i)&p)>0)
            sol=(sol*n) %m;
        n=(n*n) %m;
    }

    return sol;

}


int main()
{
    ifstream f("lgput.in");
    ofstream g("lgput.out");
    long n,p;
    f>> n >> p;
    g << power(n,p);


    f.close();
    g.close();
    return 0;
}