Cod sursa(job #2282810)

Utilizator traiannntraian traiannn Data 14 noiembrie 2018 15:40:12
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
int main()
{
    long long i, n,p,n1,n2,l=1999999973;
    in >> n >> p; n2=n;
    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;
    }
    if(p==1)
        n=n2;
    else
        if(p==0)
        n=1;
    out<<n%l;
    return 0;
}