实现二进制计数方法以生成集合子集的 C++ 程序
这是一个C++程序,用于实现二进制计数方法以生成集合的子集。
算法
Begin
Take the array elements as input.
function BinaryCounting():
Calculate subset by r = pow(2, n) //这里n=元素数。
Generate binary numbers from 0 to r-1.
Call solution() for each binary string of n character.
End示例
#include输出结果#include using namespace std; void solution(char code[], int a[], int n) //打印解决方案 { int i; cout<<"\t { "; for(i = 0; i < n; i++) { if(code[i] == '1') cout<>n; int a[n]; cout<<"\n"; for(i = 0; i < n; i++) { cout<<"Enter "<>a[i]; } cout<<"\nThe subset in the binary counting method: \n"; BinaryCounting(a, n); return 0; }
Enter the number of elements: 4
Enter 1 element: 4
Enter 2 element: 3
Enter 3 element: 2
Enter 4 element: 1
The subset in the binary counting method:
{ }
{ 1 }
{ 2 }
{ 2 1 }
{ 3 }
{ 3 1 }
{ 3 2 }
{ 3 2 1 }
{ 4 }
{ 4 1 }
{ 4 2 }
{ 4 2 1 }
{ 4 3 }
{ 4 3 1 }
{ 4 3 2 }
{ 4 3 2 1 }