Pagini recente » Diferente pentru problema/poligon7 intre reviziile 9 si 8 | Diferente pentru problema/omogene intre reviziile 10 si 1 | Cod sursa (job #1530087) | Cod sursa (job #1525172) | 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;
}