Cod sursa(job #657807)

Utilizator sternvladStern Vlad sternvlad Data 7 ianuarie 2012 14:25:26
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in ("lgput.in");
ofstream out ("lgput.out");
const int N=10001;
const int m=1999999973;

int main()
{
    unsigned int i,n,p;
    long long a,sol=1;
    in>>n>>p;
    a=n;
    for (i=0;(1<<i)<=p;i++)
        {
            if (((1<<i)&p)>0)
                sol=(sol*a)%m;
            a=(a*a)%m;
        }
        out<<sol<<" ";
    return 0;
}