Cod sursa(job #1131510)

Utilizator alexteStefanescu Alexandru Catalin alexte Data 28 februarie 2014 20:50:28
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>
int n,i,p;
long long sol=1,a;
const int m=1999999973;
using namespace std;
int main()
{
    ifstream fin("lgput.in");
    ofstream fout("lgput.out");
    fin>>n>>p;
    a=n;
    for(i=0;(1<<i)<=p;i++)
    {
        if((1<<i & p)>0)
        {
            sol=(sol*a)%m;
        }
        a=(a*a)%m;
    }
    fout<<sol<<"\n";
    fout.close();
    return 0;
}