Pagini recente » Cod sursa (job #2805763) | Cod sursa (job #2541384) | Cod sursa (job #721820) | Cod sursa (job #2842555) | Cod sursa (job #1526731)
#include <stdio.h>
#define ll long long
void euclid(int A, int B, ll int *X, ll int *Y) {
if (!B) {
*X = 1, *Y = 0;
} else {
int X0, Y0;
euclid(B, A % B, &X0, &Y0);
*X = Y0;
*Y = X0 - Y0 * (A / B);
}
}
int main(void) {
int A, N;
ll int X, Y;
FILE *f = fopen("inversmodular.in", "r");
fscanf(f, "%d %d", &A, &N);
fclose(f);
f = fopen("inversmodular.out", "w");
euclid(A, N, &X, &Y);
fprintf(f, "%lld\n", (ll)(X % N + N));
fclose(f);
/// Multumim Doamne!
puts("Doamne ajuta!");
return 0;
}