Cod sursa(job #2282795)

Utilizator traiannntraian traiannn Data 14 noiembrie 2018 15:36:30
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
int main()
{
    long long i, n,p,n1,l=1999999973;
    in >> n >> p;
    n1 = n;
    if(p%2==0)
    {
        n1=n1*n1;
        n=n1;
        for(i = 2; i <= p/2; ++i)
        {
            n = n * n1;
        }
    }
    else
    {
        n1=n1*n1;
        for(i = 2; i <= (p-1)/2; ++i)
        {
            n = n * n1;
        }
        n=n*n1;
    }
    out<<n%l;
    return 0;
}