Độ khó của bài toán logarit rời rạc là nền tảng an toàn của Diffie-Hellman và ElGamal: biết a,b,p nhưng việc tìm x sao cho ax≡b(modp) là khó về mặt tính toán khi p đủ lớn. Với p nhỏ (tối đa 106), ta có thể giải bằng thuật toán Baby-step Giant-step với độ phức tạp O(p).
Cho số nguyên tố p và hai số nguyên a,b với 0<a,b<p. Hãy tìm số nguyên x nhỏ nhất, 0≤x≤p−2, sao cho ax≡b(modp). Nếu không tồn tại x nào thỏa mãn, in ra −1.
Một dòng duy nhất chứa ba số nguyên p,a,b cách nhau bởi khoảng trắng (2≤p<106, p là số nguyên tố, 0<a,b<p).
Một số nguyên duy nhất: giá trị x nhỏ nhất thỏa ax≡b(modp), hoặc −1 nếu không tồn tại.
Ví dụ:
Đầu vào:
2 1 1
Đầu ra:
0
Đầu vào:
5 2 3
Đầu ra:
3
Đang tải editor...