Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương Trình Java Thực Hiện Tổ Hợp nCr


Trong bài viết này, chúng ta sẽ tìm hiểu cách tính tổ hợp sử dụng giá trị n và r. nCr được tính bằng công thức:

(giai thừa của n) / (giai thừa của r * giai thừa của (n-r))

Dưới đây là minh họa:

Đầu vào

Giả sử đầu vào của chúng ta là:

Giá trị n: 6
Giá trị r: 4

Đầu ra

Đầu ra mong muốn sẽ là:

Giá trị nCr là: 15

Thuật Toán

Bước 1 - BẮT ĐẦU
Bước 2 - Khai báo hai biến nguyên n và r
Bước 3 - Đọc giá trị từ người dùng hoặc định nghĩa giá trị
Bước 4 - Định nghĩa hai hàm: một tính giai thừa n và (n-r), một tính công thức: (giai thừa n) / (giai thừa r * giai thừa (n-r)) và lưu kết quả
Bước 5 - Hiển thị kết quả
Bước 6 - DỪNG

Ví Dụ 1

Ở đây, đầu vào được nhập bởi người dùng dựa trên nhắc nhở. Bạn có thể thử ví dụ này trực tiếp trong công cụ coding ground của chúng tôi.

import java.util.*;
public class Combination {
    static int Compute_nCr(int n, int r) {
        return my_factorial(n) / (my_factorial(r) * my_factorial(n - r));
    }
    static int my_factorial(int n) {
        int i, my_result;
        my_result = 1;
        for (i = 2; i <= n; i++)
            my_result = my_result * i;
        return my_result;
    }
    public static void main(String[] args) {
        int n, r;
        System.out.println("Các gói cần thiết đã được nhập");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("Đối tượng đọc đã được định nghĩa");
        System.out.print("Nhập giá trị n: ");
        n = my_scanner.nextInt();
        System.out.print("Nhập giá trị r: ");
        r = my_scanner.nextInt();
        System.out.println("Giá trị tổ hợp cho đầu vào là = " + Compute_nCr(n, r));
    }
}

Đầu Ra

Các gói cần thiết đã được nhập
Đối tượng đọc đã được định nghĩa
Nhập giá trị n: 6
Nhập giá trị r: 4
Giá trị tổ hợp cho đầu vào là = 15

Ví Dụ 2

Ở đây, số nguyên đã được định nghĩa trước, và giá trị của nó được truy cập và hiển thị trên bảng điều khiển.

public class Combination {
    static int Compute_nCr(int n, int r) {
        return my_factorial(n) / (my_factorial(r) * my_factorial(n - r));
    }
    static int my_factorial(int n) {
        int i, my_result;
        my_result = 1;
        for (i = 2; i <= n; i++)
            my_result = my_result * i;
        return my_result;
    }
    public static void main(String[] args) {
        int n, r;
        n = 6;
        r = 4;
        System.out.println("Giá trị n và r được định nghĩa là " + n + " và " + r);
        System.out.println("Giá trị tổ hợp cho đầu vào là = " + Compute_nCr(n, r));
    }
}

Đầu Ra

Giá trị n và r được định nghĩa là 6 và 4
Giá trị tổ hợp cho đầu vào là = 15