题目:给定n个布尔变量x1,x2,x3…xn,希望输出所有可能的布尔变量组合。例如当n=2时,有4种组合:
a、true,true;b、true,faulse;c、faulse,true;d、faulse,faulse。请编写一个C++程序实现这个任务。
算法:递归
代码:
#include<iostream> using namespace std; bool a[1000]; int n; void perm(int k) { if(k==n+1) { for(int i=1;i<=n;i++) { if(i<n) cout<<boolalpha<<a[i]<<','; else cout<<boolalpha<<a[i]<<endl; } return; } else { a[k]=true; perm(k+1); a[k]=false; perm(k+1); } } int main() { while(cin>>n) { perm(1); } return 0; }
作者:u010229420 发表于2013-5-4 20:42:07 原文链接
阅读:0 评论:0 查看评论