Pagini recente » Cod sursa (job #1738074) | Cod sursa (job #1378484) | Cod sursa (job #545908) | Cod sursa (job #462936) | Cod sursa (job #534820)
Cod sursa(job #534820)
#include<stdio.h>
#include<math.h>
FILE *in,*out;
int baza,exponent,nrmax;
unsigned long long rest,cat,i;
long long puterea=1,suma=1;
int main()
{
in=fopen("modulo.in","rt");
out=fopen("modulo.out","wt");
fscanf(in,"%d%d%d",&baza,&exponent,&nrmax);
puterea=baza;
for(i=0;(1<<i)<=exponent && i<=30;i++)
{
if((1<<i)&exponent>0)
suma=(suma*puterea)%nrmax;
puterea=(puterea*puterea)%nrmax;
}
if(i=31)
fprintf(out,"%lld",(suma*puterea)%nrmax);
else
fprintf(out,"%lld",suma);
return 0;
}