Cod sursa(job #1610187)

Utilizator TibiraducanuTiberiu Raducanu Tibiraducanu Data 23 februarie 2016 12:33:36
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <cstdio>

using namespace std;

const int MOD=1999999973;

int putere(int x,int y)
{
    if(y==1) return x;

    int rez,aux=putere(x,y/2);
    rez=(long long)aux*aux%MOD;

    if(y%2==0) return rez;
    return (long long)rez*x%MOD;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);

    int n,p;

    scanf("%d%d",&n,&p);
    printf("%d\n",putere(n,p));

    return 0;
}