Cod sursa(job #1749915)
Utilizator | Data | 29 august 2016 10:22:36 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <stdio.h>
#include <stdlib.h>
#define MOD 1999999973
int rezultat(int N,int P)
{
if (P<=1)
return(N);
else
if (P % 2 ==0)
{
int rez;
rez=rezultat(N,P/2);
rez=(rez*rez)%MOD;
return(rez);
}
else
{
int rez;
rez= (N*rezultat(N,P-1)) % MOD;
return(rez);
}
}
int main()
{
int N,P;
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%d %d",&N,&P);
printf("%d",rezultat(N,P));
return 0;
}