Pagini recente » Cod sursa (job #2941759) | Cod sursa (job #2710211) | Cod sursa (job #2396523) | Cod sursa (job #1412758) | Cod sursa (job #3136112)
#include <stdio.h>
#define modulus 1999999973
long int expLog(long int x,long int n) {
long int r=1;
if( n==0 )
return r;
while( n > 0 )
{
if( n%2==1 ) {
r = (r*x)%modulus;
}
x = (x*x)%modulus;
n = n/2;
}
return r%modulus;
}
int main(){
FILE* f = fopen("lgput.in","r");
FILE* g = fopen("lgput.out","w");
if( f==NULL || g==NULL ){
printf("Error opening files\n");
return 0;
}
long int N,p;
if( fscanf(f,"%li %li",&N,&p)!=2 ) {
printf("Something went wrong!\n");
return 0;
}
// fprintf(g,"%li raised at %li gives\n",N,p);
fprintf(g,"%li\n",expLog(N,p));
return 0;
}