간단한 순열을 사용하여 C에서 조합 생성
C에서는 순열을 포함하는 간단한 접근 방식을 사용하여 조합을 생성할 수 있습니다. 이 방법을 사용하려면 요소 순서가 중요한 순열 생성 개념을 이해해야 합니다.
알고리즘 개요:
구현:
다음은 next_permutation을 사용한 이 알고리즘의 구현입니다.
#include <iostream> #include <algorithm> #include <vector> int main() { int n, r; std::cin >> n; std::cin >> r; std::vector<bool> v(n); std::fill(v.end() - r, v.end(), true); do { for (int i = 0; i < n; ++i) { if (v[i]) { std::cout << (i + 1) << " "; } } std::cout << "\n"; } while (std::next_permutation(v.begin(), v.end())); return 0; }
설명:
next_permutation 함수는 다음을 생성합니다. 부울 벡터의 다음 사전식 순열입니다. 벡터를 반복하고 실제 값의 인덱스를 인쇄하여 세트의 첫 번째 r개 요소의 조합을 얻습니다.
위 내용은 순열을 사용하여 C에서 조합을 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!