In tất cả các tổ hợp có thể có của các phần tử r trong một mảng có kích thước n đã cho
Bạn đã cân nhắc sử dụng getenv() chưa? Show
Ngoài ra, sử dụng phương pháp của bạn, nếu bạn muốn xem hạt nhân coi kích thước đầu cuối là gì (tốt hơn trong trường hợp đầu cuối được thay đổi kích thước), bạn sẽ cần sử dụng TIOCGWINSZ, trái ngược với TIOCGSIZE của bạn, như vậy Tôi hơi muộn về chủ đề này, nhưng nghĩ rằng tôi có thể giúp được ai đó Bạn có thể sử dụng 0 từ 1
đầu ra
Một ví dụ khác, nhưng thay đổi đối số lặp lại
đầu ra Trong bài toán “In tất cả các tổ hợp có thể có của các phần tử R trong một mảng có kích thước N đã cho”, chúng ta đã cho một mảng có kích thước n. Tìm tất cả các kết hợp kích thước r trong mảng Định dạng đầu vàoDòng đầu tiên và duy nhất chứa số nguyên N Dòng thứ hai chứa n số nguyên cách nhau bởi dấu cách Dòng thứ ba chứa số nguyên R Định dạng đầu raIn tất cả các Tổ hợp có thể có của các Phần tử R của một mảng đã cho sao cho mỗi dòng chứa chính xác một tổ hợp Hạn chế
Thí dụ4 1 2 3 4 2 1 2 1 3 1 4 2 3 2 4 3 4 thuật toánTrong phương pháp này, ý tưởng chính là tạo một mảng tạm thời ans[] có kích thước R và lưu trữ kết quả trong đó Chúng tôi tạo một mảng tạm thời 'dữ liệu []' để lưu trữ từng đầu ra một. Ý tưởng là bắt đầu từ chỉ mục đầu tiên (chỉ mục = 0) trong data[], sửa từng phần tử tại chỉ mục này và lặp lại cho các chỉ mục còn lại. Đặt mảng đầu vào là {1, 2, 3, 4, 5} và r là 3. Trước tiên, chúng tôi sửa 1 tại chỉ mục 0 trong dữ liệu [], sau đó lặp lại cho các chỉ mục còn lại, sau đó chúng tôi sửa 2 tại chỉ mục 0 và lặp lại. Cuối cùng, chúng tôi sửa lỗi 3 và lặp lại cho các chỉ mục còn lại. Khi số phần tử trong data[] bằng r (kích thước của tổ hợp), chúng tôi in data[] 1. Bắt đầu từ chỉ mục đầu tiên trong ans[], sửa từng phần tử tại chỉ mục này và lặp lại cho các chỉ mục còn lại 2. Nếu mảng ans[] đầy thì in mảng ans[] Thực hiệnChương trình C++ để in tất cả các kết hợp có thể có của các phần tử R trong một mảng có kích thước N đã cho#include Chương trình Java để in tất cả các kết hợp có thể có của các phần tử R trong một mảng có kích thước N đã choimport java.util.ArrayList; import java.util.Scanner; class sum { public static void combination(int arr[], int data[], int start, int end, int index, int r) { if(index == r) { for(int j = 0; j < r; j++) System.out.print(data[j]+" "); System.out.println(); return; } for(int i = start; i <= end && end - i + 1 >= r - index; i++) { data[index] = arr[i]; combination(arr, data, i+1, end, index+1, r); } } public static void main(String[] args) { Scanner sr = new Scanner(System.in); int n = sr.nextInt(); int a[] = new int [n]; for(int i=0;i |