Cod sursa(job #1749918)

Utilizator florinpocolPocol Florin florinpocol Data 29 august 2016 10:38:44
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>

#define MOD 1999999973


long long rezultat(long long N,long long P)
{
    if (P<=1)
        return(N);

        long long rez;
        if (P % 2 ==0)
           {
               rez=rezultat(N,P/2);
               rez=(rez*rez)%MOD;
               return(rez);
           }
           else
           {
               rez= (N*rezultat(N,P-1)) % MOD;
               return(rez);
           }
}

int main()
{

    long long N,P;

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

    scanf("%lld %lld",&N,&P);
    printf("%lld",rezultat(N,P));

    return 0;
}