tôi cần phải tính toán (a/b) mod m
nơi a
và b
là những con số rất lớn.Cách tính toán "nghịch đảo nhân mô-đun" khi mẫu số không đồng nhất với m?
Những gì tôi đang cố gắng làm là để tính toán (a mod m) * (x mod m)
, nơi x
là modular inverse của b
.
Tôi đã thử sử dụng Extended Euclidean algorithm, nhưng phải làm gì khi b và m không đồng nhất? Cụ thể là mentioned mà b và m cần phải là đồng nhất.
tôi đã cố gắng sử dụng mã here, và nhận ra rằng ví dụ: 3 * x mod 12
không phải là ở tất cả có thể cho bất kỳ giá trị của x
, nó không tồn tại!
Tôi nên làm gì? Thuật toán có thể được sửa đổi bằng cách nào đó không?
@Keith Randall vì vậy, những gì có thể được thực hiện để giải quyết vấn đề này? – Lazer
Tôi không chắc chắn ý của bạn là gì. Nếu một là chia hết cho gcd (b, m), thì bạn có thể giải quyết nó. Nếu không, hoạt động phân chia thậm chí không được xác định. Bạn sẽ cần phải tìm ra một cách khác để đạt được mục tiêu cuối cùng của bạn mà không cần phân chia mô-đun. –
Ý tôi là, những gì có thể là những cách khác để "đạt được mục tiêu cuối cùng của tôi mà không có sự phân chia mô-đun"? – Lazer