Editorial for C bài 5.D1: Tổ hợp


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.

Submitting an official solution before solving the problem yourself is a bannable offence.

Author: buitrunghieu

Lời giải chi tiết

Đầu tiên ta cần phải biết về công thức tính tổ hợp chập \(k\) của \(n\). Ta có:

\(C^k_n = \frac{n!}{k!*(n-k)!} = \frac{1*2*...*n}{1*2*...*k*1*2*...*(n-k)}\)

\(C^k_n = \frac{(k+1)(k+2)...*n}{2*...*(n-k)}.\)
Với công thức trên, ta sử dụng vòng lặp để tính lần lượt chúng.

Các bước giải:

  • Bước 1: Khai báo và nhập vào số \(q\) thể hiện số truy vấn, sau đó chạy truy vấn.
  • Bước 2: Khai báo và nhập vào lần lượt 4 số \(a, m, b, n\). Sau đó khai báo 2 biến \(u\) và \(v\) là kết quả của các tổ hợp \(C^a_m\) và \(C^b_n\), đặt giá trị khởi tạo cho chúng là 1.
  • Bước 3: Với mỗi tổ hợp, áp dụng công thức phía trên để tính tổ hợp bằng cách sử dụng 2 vòng lặp riêng biệt, vòng lặp đầu tiên dùng để tính giá trị của tử số trong công thức, vòng lặp thứ 2 để tính mẫu số trong công thức. Sau đó sử dụng biến được khai báo sẵn lưu giá trị của tử số chia mẫu số.
  • Bước 4: Sau khi tìm được \(u\) và \(v\), ta in ra màn hình giá trị của \(u - v\).
  • Bước 5: Xuống dòng để tiếp tục với các truy vấn sau đó.

Đăng ký khóa học: https://www.facebook.com/clblaptrinhfullhouse

SĐT liên hệ: 0372229686

Youtube: CLB Lập Trình Full House

Fullhouse dev đồng hành trên từng dòng code


Comments

There are no comments at the moment.