VL07 - Tính tổ hợp

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Viết chương trình tính tổ hợp chập ~k~ của ~n~ phần tử có công thức như dưới đây:

$$C_{n}^{k} = \frac{n!}{k!(n-k)!}$$

Giới hạn

  • ~ 1 \le k \le n \le 25 ~

Input

Lần lượt là 2 số n, k cách nhau bởi khoảng trắng

Output

Kết quảtổ hợp chập ~k~ của ~n~

Sample

Input #1
5 2
Output #1
10

Bình luận

Please read the guidelines before commenting.



  • 0
    nhatminecraftthanhgu  đã bình luận lúc 11, Tháng 6, 2026, 9:13

    full ac: #include <iostream> using namespace std;

    long long dp[30][30];

    long long C(int n, int k) { if (k == 0 || k == n) return 1;

    if (dp[n][k] != -1) return dp[n][k];
    
    return dp[n][k] = C(n - 1, k - 1) + C(n - 1, k);
    

    }

    int main() { int n, k; cin >> n >> k;

    for (int i = 0; i < 30; i++)
        for (int j = 0; j < 30; j++)
            dp[i][j] = -1;
    
    cout << C(n, k);
    
    return 0;
    

    }


  • 0
    haidzusuk  đã bình luận lúc 14, Tháng 3, 2026, 5:29

    **#include <iostream>

    include <cmath>

    using namespace std;

    int main() { int n;cin>>n; int k;cin>>k; if (1<=k && k<=25 && k<=n ){ long long M1 =1; long long M2 =1; for (int i=1;i<=k;i++){ M1 = (M1)i; } for (int j=n;j>=(n-k+1);j--){ M_2 = (M_2)j; } cout << ((M2)/(M1)) << endl; } return 0; } **


  • -2
    manhphuong20420140  đã bình luận lúc 28, Tháng 1, 2026, 7:17

    khoi sex voi ngan ban


  • -1
    manhphuong20420140  đã bình luận lúc 26, Tháng 1, 2026, 9:20

    k


  • -3
    dangkhoi1239876  đã bình luận lúc 24, Tháng 1, 2026, 9:34

    n phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượngquyềndung tiến phượng


  • 0
    PPw  đã bình luận lúc 21, Tháng 1, 2026, 14:28

    include <iostream>

    include <iomanip>

    using namespace std; int main() { int n, k; long long s1 = 1, s2 = 1; do { cin >> n; cin >> k; } while (n > 25 && k > n && k < 1); int max = k; int min = n - k; if (max <= n - k) { max = n - k; min = k; } for (int i = n; i > max; i--) s1 *= i; for (int i = 1; i <= min; i++) s2 *= i; cout << s1 / s2;

    }


  • 0
    nguyenngocanh4102012  đã bình luận lúc 21, Tháng 12, 2025, 15:28 chỉnh sửa

    include<bits/stdc++.h>

    using namespace std;

    long long f(int n){ long long r=1; for(int i=1;i<=n;i++) r*=i; return r; }

    int main(){ ios::syncwithstdio(0); cin.tie(0); int n,k; cin>>n>>k; cout<<f(n)/(f(k)*f(n-k)); return 0; }


  • 0
    peterjerry  đã bình luận lúc 30, Tháng 10, 2025, 5:03

    include<stdio.h>

    int main(){

    long long n, k ,C ,ngt=1,kgt=1 ,hgt=1 ,i;
    scanf("%lld %lld",&n ,&k);
    for (i=1 ; i<=n ;i++){
        ngt*=i;
    }
    for (i=1 ;i<=k ;i++){
        kgt*=i;
    }
    for (i=1 ;i<=(n-k) ;i++){
        hgt*=i;
    }
    C=ngt/(kgt*hgt);
    printf("%lld",C);
    return 0;
    

    }


    • 0
      peterjerry  đã bình luận lúc 30, Tháng 10, 2025, 5:04

      còn case 5 check giúp e với


      • 4
        khaibadao  đã bình luận lúc 2, Tháng 11, 2025, 8:27

        Case cuối:

        n = 25, k = 3

        Nếu bạn tính như thế thì với n = 25 chắc chắn sẽ gây tràn số

        Thay vì như thế: Ông hãy áp dụng chút toán vào để giải:

        Ta gọi phần n! là tử Phần k!(n - k)! là mẫu

        Đầu tiên: Ta có thể rút gọn đi !k (n >= k)

        Thì lúc này Tử: (k + 1)*(k + 2) * ... * n Mẫu: 1 * (n - k)!

        Tiếp theo ta nhận ra là: Phần giao nhau giữa tử và mẫu, chính là từ : (k + 1) * (k + 2) * ... * (n - k); Ta có thể rút gọn tử và mẫu cho nhau, từ đó ra kết quả bài toán còn lại chính là:

        Tử: tích của i chạy từ (n - k + 1) -> n Mẫu: tích của i chạy từ 1 -> n - (n - k) = k

        Và đây là code mẫu của mình:

        include <bits/stdc++.h>

        define MOD 1000000007

        define Mod7 1000000006

        define en '\n'

        define Siz(s) s.size()

        define wel 1005

        define pb push_back

        define mang 1000001

        using namespace std;

        typedef unordered_map<long long, long long> unmap;

        int main() { //freopen("", "r", stdin); //freopen("", "w", stdout); iosbase::syncwith_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, k; cin >> n >> k; // Mẫu: n - k: bắt đầu từ 1 -> n - k // Tử: bắt đầu từ a đến n // --> Dưới mẫu sẽ còn lại gia thừa từ 1 -> a // --> Trên tử sẽ còn lại : !((n - k) + 1) -> n; long long mau = 1, tu = 1; for(int i = 1 ; i <= k ; ++i) mau *= i; for(int i = (n - k + 1) ; i <= n ; ++i) tu *= i; long long ans = tu/mau; cout << ans; return 0; }


        • 0
          lqvinh13  đã bình luận lúc 28, Tháng 11, 2025, 8:35

          đa tạ cao nhân đã chỉ điểm


  • -2
    Baphuc2013hehe  đã bình luận lúc 23, Tháng 9, 2025, 13:31

    cho mình xin test 4, 5 cái


  • 4
    annoeye  đã bình luận lúc 24, Tháng 3, 2025, 2:39

    Mọi người lưu ý khi test với số 23 11. Sẽ bị tràn số, bên dưới là code tham khảo! Supplier<Long> combinationCalculator = () -> { long result = 1; for (int i = 0; i < Math.min(k, n - k); i++) result = result * (n - i) / (i + 1); return result; };


  • 1
    binem2904  đã bình luận lúc 11, Tháng 10, 2024, 7:26

    case 4 là gì thế mn :'(


  • -3
    vodung04  đã bình luận lúc 17, Tháng 2, 2024, 9:27

    test case 5 là gì v


    • -2
      stonerduy  đã bình luận lúc 22, Tháng 2, 2024, 16:16

      25 3 đó


  • -2
    minh2312130  đã bình luận lúc 20, Tháng 1, 2024, 10:17

    cho mình xin testcase 3 với mn ơi


    • -1
      OriBoys  đã bình luận lúc 13, Tháng 2, 2024, 16:03

      n = 15 k = 10


  • -2
    hoanngggg  đã bình luận lúc 9, Tháng 1, 2024, 14:30

    hàm tính C bằng đệ quy cho ai cần int C(int a, int b) { if (a == 0 or a == b) return 1; if (a == 1) return b; return C(a - 1, b - 1) + C(a, b - 1); }


  • 0
    trinhtheanh3010  đã bình luận lúc 15, Tháng 12, 2023, 17:43

    case cuối là gì v mn


  • -2
    Tuan_Kiettt  đã bình luận lúc 14, Tháng 12, 2023, 14:09

    help với ,C++20


  • 5
    tungkq123  đã bình luận lúc 28, Tháng 11, 2023, 5:39

    mong admin lên cho hiện phần dữ liệu test case như các web code leet code để khi sai tìm lỗi cho dễ ạ


  • 1
    godcyber  đã bình luận lúc 21, Tháng 8, 2023, 2:46

    Công thức bên trên chỉ chạy được một phần thôi, chạy số to hơn tí là tràn bộ nhớ rồi nên phải dùng công thức truy hồi mới đúng.


  • -3
    khanhdat4  đã bình luận lúc 23, Tháng 7, 2023, 11:39

    testcase cuối là gì ấy nhỉ


    • 2
      garennoier  đã bình luận lúc 15, Tháng 8, 2023, 14:17

      25 voi 3 do loi tran so ban xem lai nhe