Cod sursa(job #1349089)

Utilizator Liviu0010Oprescu Liviu Liviu0010 Data 19 februarie 2015 23:23:11
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<fstream>
using namespace std;

int main()
{
    unsigned int m = 1999999973, n, i;
    unsigned long p, r = 1;
    fstream in("lgput.in", fstream::in);
    fstream out("lgput.out", fstream::out);

    in>>n>>p;
    in.close();

    for(i=0; (1<<i) <= p; i++)
    {
        if((1<<i) & p)
            r = (r*n)%m;
        n = (n*n)%m;
    }

    out<<r;
    out.close();

    return 0;
}