回溯法生成二进制串儿
生成一个长度为n的二进制串,由2的n次方种不同的可能。可以利用回溯法
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define maxnum 20
using namespace std;
char A[maxnum];
int num=0;
void binary(int n)
{
if(n==0)
{
cout<<A<<endl;
num++;
}
else
{
A[n-1] = '0';
binary(n-1);
A[n-1] = '1';
binary(n-1);
}
}
int main()
{
int n;
cout<<"请输入长度:"<<endl;
cin>>n;
binary(n);
cout<<"总的个数:"<<endl;
cout<<num;
return 0;
}
博客持续更新中