Cod sursa(job #1329391)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 29 ianuarie 2015 14:28:13
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdio.h>
#include <stdlib.h>
#define MODULO 1999999973
long long n,p;
int put(long long n,long long p)
{
    if(p==0) return 1;
    if(p==1) return n%MODULO;
    if(p%2==0) return(put(n*n%MODULO,p/2))%MODULO;
    if(p%2==1) return(n*put(n*n%MODULO,p/2))%MODULO;
}
int main()
{
    int x=0;
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%lld%lld",&n,&p);
    x=put(n,p);
    printf("%d\n",x);

    return 0;
}