Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Toán rời rạc] Hệ số nhị thức theo modulo

    Hệ số nhị thức (nk)=C(n,k)\binom{n}{k} = C(n,k)(kn​)=C(n,k) là số cách chọn kkk phần tử từ nnn phần tử. Khi nnn lớn, giá trị này rất lớn nên ta tính theo modulo.

    Hãy tính (nk) mod (109+7)\binom{n}{k} \bmod (10^9+7)(kn​)mod(109+7).

    Gợi ý: dùng công thức (nk)=n!k!(n−k)!\binom{n}{k} = \dfrac{n!}{k!(n-k)!}(kn​)=k!(n−k)!n!​ với nghịch đảo modular, hoặc tích lũy (nk)=∏i=1kn−i+1i\binom{n}{k}=\prod_{i=1}^{k}\frac{n-i+1}{i}(kn​)=∏i=1k​in−i+1​.

    Ví dụ: (103)=120\binom{10}{3}=120(310​)=120.

    • Định dạng đầu vào:

      Một dòng gồm hai số nguyên nnn và kkk.

    • Ràng buộc đầu vào:

      0≤k≤n≤1060 \le k \le n \le 10^60≤k≤n≤106.

    • Định dạng đầu ra:

      Một dòng: giá trị (nk) mod (109+7)\binom{n}{k} \bmod (10^9+7)(kn​)mod(109+7).

    Ví dụ:

    Đầu vào:

    10 3

    Đầu ra:

    120

    Giải thích:

    $\binom{10}{3}=\frac{10\cdot9\cdot8}{3!}=120$, nhỏ hơn modulo nên đáp án là 120.

    Đang tải editor...