Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 45 si 44 | Diferente pentru utilizator/kitchen635 intre reviziile 1 si 2 | Atasamentele paginii Cuvinte 3 | Cod sursa (job #2253888) | Cod sursa (job #1329391)
#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;
}