华师一附中OI组

标题: 5个数字全排列 相邻的两个数字之和为质数 [打印本页]

作者: diggersun    时间: 2015-10-21 16:50
标题: 5个数字全排列 相邻的两个数字之和为质数
  1. #include<iostream>
  2. using namespace std;
  3. int a[5];
  4. bool b[5];
  5. bool bb[10]={0,0,1,1,0,1,0,1,0,0};
  6. void mysearch(int i)
  7. {  int j,k;
  8.    if (i==5) {for (j=0;j<5;j++) cout<<a[j];cout<<endl;}
  9.    else for (k=0;k<=4;k++)
  10.       if (b[k])
  11.             if ((i==0)||bb[a[i-1]+k]) {a[i]=k;b[k]=false;mysearch(i+1);b[k]=true;}
  12. }
  13. int main()
  14. {
  15.     for (int i=0;i<=4;i++) b[i]=true;
  16.     mysearch(0);return 0;
  17. }
复制代码





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2