Cod sursa(job #1644387)

Utilizator remus88Neatu Remus Mihai remus88 Data 9 martie 2016 22:51:58
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 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=n, x=k;
    while (x!=1)
    {
        if (x%2==0)
        {
            m=(m*m)%Mod;
            x=x/2;
        }
        else
        {
            m=(m*n)%Mod;
            --x;
        }
    }
    return m;
}

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