Cod sursa(job #690229)

Utilizator GaborGabrielFMI - GabrielG GaborGabriel Data 25 februarie 2012 13:47:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");

long long n,p,suta;

long long ridica(long long a,long long b)
{
    if(b==1) return a;
    if(b%2) return (ridica(a,b-1)%suta*a)%suta;
        else  return (ridica(a,b/2)%suta)*(ridica(a,b/2)%suta)%suta;
}

int main()
{
    f>>n>>p;
    suta = 1999999973;
    g<<ridica(n,p)%suta<<'\n';
    return 0;
}