Cod sursa(job #1514031)

Utilizator DeliaStirbuIoana Delia Stirbu DeliaStirbu Data 30 octombrie 2015 14:59:43
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>

using namespace std;

int main()
{
    ifstream in ("lgput.in")
    ofstream out ("lgput.out")

    long long n,p,r=1;
    in>>n>>p;
    while (p!=1)
    {
        if (p%2==0)
        {
            n=n*n;
            p=p/2;
            n=n%1999999973;
        }
        else
        {
            p=p-1;
            r=r*n;
            r=r%1999999973;
        }
    }

    n=n*r;
    out<<n%1999999973;

    return 0;
}