Pagini recente » Cod sursa (job #2886405) | Cod sursa (job #1971465) | Cod sursa (job #2640475) | Cod sursa (job #2704532) | Cod sursa (job #2523279)
#include <stdio.h>
int main() {
FILE *fin = fopen( "inversmodular.in", "r" );
FILE *fout = fopen( "inversmodular.out", "w" );
int a, n, p = 1, mod;
fscanf( fin, "%d%d", &a, &n );
mod = n;
n -= 2;
while ( n > 0 ) {
if ( n % 2 == 1 ) {
p = (p * a) % mod;
}
a = (a * a) % mod;
n /= 2;
}
fprintf( fout, "%d", p );
fclose( fin );
fclose( fout );
return 0;
}