Tổ hợp Lucas

Xem dưới dạng PDF

Gửi bài giải


Điểm: 30
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Kiểu bài tập

Tổ hợp chập \(C(n, k)\) là số cách chọn k phần tử từ n phần tử.

Cho hai số nguyên dương n, k và số nguyên tố p. Hãy tính \(C(n, k)\) mod p với p là số nguyên tố.

Sử dụng định lý Lucas: Biểu diễn n và k trong hệ cơ số p: n = n0 + n1\timesp + n2\timesp² + ... + nr\timesp^r k = k0 + k1\timesp + k2\timesp² + ... + kr\timesp^r

Khi đó: \(C(n, k)\) ≡ ∏ \(C(ni, ki)\) (mod p)

Lưu ý: \(C(n_i, k_i) = 0\) nếu \(k_i > n_i\).

Đầu vào

Một dòng duy nhất chứa ba số nguyên n, k, p (\(0 \le k \le n \le 10^{18}, 1 < p \le 10^6\), \(p\) là số nguyên tố).

Đầu ra

Một số nguyên duy nhất là \(C(n, k)\) mod p.

Ví dụ
Input:
10 3 7

Output:
1
Giải thích

\(C(10, 3) = 120, 120 \bmod 7 = 1\).

Ràng buộc & Subtasks

Subtask Điểm Ràng buộc
1 40% Giới hạn nhỏ
2 60% Không có ràng buộc gì thêm

Nhận xét

Không có ý kiến tại thời điểm này.