Cod sursa(job #1644398)

Utilizator remus88Neatu Remus Mihai remus88 Data 9 martie 2016 22:56:36
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
//exponentiere logaritmica
#include <fstream>
#define Nmax 109
#define Mod 1999999973

using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");

long long n,k;

long long lgput(long long n,long long k)
{
    long long m=1;
    while (k!=1)
    {
        if (k%2==0)
        {
            n=(n*n)%Mod;
            k=k/2;
        }
        else
        {
            m=(m*n)%Mod;
            --k;
        }
    }
    return (n*m)%Mod;
}

int main()
{
    f>>n>>k;
    g<<lgput(n,k)<<'\n';
    f.close();
    g.close();
    return 0;
}