Cod sursa(job #2282797)

Utilizator manu.mihneaManu Mihnea Andrei Costin manu.mihnea Data 14 noiembrie 2018 15:36:36
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in ("lgput.in");
ofstream out ("lgput.out");
int main()
{
    unsigned long long a=1,n,n2,p,l=1999999973;
    in >>n>>p;
    if (p%2==0)
    {
        n2=n*n;
        p/=2;
        for (int i=1;i<=p;i++)
            a*=n2;
    }
    if (p%2==1)
    {
        n2=n*n;
        p=p/2;
        for (int i=1;i<=p;i++)
            a*=n2;
        a*=n;
    }
    a=a%l;
    out <<a;
        return 0;
}