Cod sursa(job #690070)

Utilizator Ast09Stoica Anca Ast09 Data 25 februarie 2012 10:15:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
using namespace std;

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

long long m,p,n;

long long putere(long long x, long long y)
{
    if (y==1)
    {
        return x;
    }
    if (y%2)
    {
        return (putere(x,y-1)%m*x)%m;
    }
    else
    {
        return (putere(x,y/2)%m)*(putere(x,y/2)%m)%m;
    }
}

int main()
{
    f>>n>>p;
    m=1999999973;
    g<<putere(n,p)<<'\n';
    f.close();
    g.close();
    return 0;
}