Cod sursa(job #915028)

Utilizator CrescentselectJicol Crescent Crescentselect Data 14 martie 2013 17:44:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
using namespace std;

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

#define K 1999999973

long long n,p;
long long val;

void citire()
{
    f>>n>>p;
}
int putere(long long n,long long p)
{
    if (p==0)
        return 1;
    if(p%2 == 0)
    {
        val = putere(n,p/2);
        return (val*val)%K;
    }
    else
    {
        val = n * putere(n,p-1);
        return val % K;
    }
}
void proces()
{
    g<<putere(n,p);
}

int main()
{
    citire();
    proces();
    return 0;
}