Nhiều giao thức mật mã dùng hệ số tổ hợp modulo một số nguyên tố. Vì phép chia không tồn tại trực tiếp trong số học modular, ta dùng nghịch đảo Fermat cho mẫu số:
(kn)=k!(n−k)!n!modp
Cho n, k, p (với p nguyên tố, n<p). In (kn)modp. Nếu k<0 hoặc k>n thì kết quả là 0.
(25)=10, và 10mod1000000007=10.
Một dòng gồm ba số nguyên n, k, p.
0≤k≤n<p<109, p nguyên tố.
Một số nguyên là (kn)modp.
Ví dụ:
Đầu vào:
5 2 1000000007
Đầu ra:
10
Giải thích:
Đang tải editor...