Cod sursa(job #1010902)

Utilizator MarghescuGabriel Marghescu Marghescu Data 15 octombrie 2013 21:16:39
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<fstream>
#define nmax 10001
#define m 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
unsigned int i,n,p;
long long a, sol=1;

int main()
{

    f>>n>>p;
    a=n;
    for(i=1; (1<<i)<=p; i++)
    {
        if( ((1<<i) & p) > 0 )
        	sol=(sol*a)%m;
        a=(a*a)%m;
    }
    g<<sol;
    return 0;
}