Cod sursa(job #652413)

Utilizator rootsroots1 roots Data 24 decembrie 2011 13:19:26
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

#define MOD 1999999973

using namespace std;

ifstream in;
ofstream out;

int main()
{
    int N,P;
    long long sol=1;

    in.open("lgput.in");

    in>>N>>P;

    in.close();

    for(int i=0;(1<<i)<=P;++i)
    {
        if(P&(1<<i))
        {
            sol*=N;
            sol%=MOD;
        }
        N*=N;
        N%=MOD;
    }

    out.open("lgput.out");

    out<<sol<<'\n';

    out.close();

    return 0;
}