Cod sursa(job #1801364)

Utilizator KronSabau Valeriu Kron Data 8 noiembrie 2016 22:21:56
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long n,k,val;

long long  putere(long long x,long long n)
{
    long long  y=1;
    while(n>1)
    {
        if(n%2==0)
        {
            x=x*x;
            n=n/2;
            x=x%MOD;

        }else {
            y=x*y;
            y=y%MOD;
            x=x*x;
            x=x%MOD;
            n=(n-1)/2;
        }
    }
    return (x*y)%MOD;
}

int main()
{
    //f >> val;
    f >> n >> k;
    g << putere(n,k);


    return 0;
}