呕了~在下菜鸡又没过。。。。dalao救救
查看原帖
呕了~在下菜鸡又没过。。。。dalao救救
230805
Frather_楼主2020/8/11 09:23

绝对不告诉你我已经调试了两个多小时了。。。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int n,v[20],ans[20];
//bool pd(int x,int y)
//{
//	int b=x+y;
//	for(int j=2;j<=sqrt(b);j++)
//		if(b%j==0)
//			return 0;	
//	else return 1;
//}
bool pd(int x,int y)
{
    int k=2,i=x+y;
    while (k<=sqrt(i)&&i%k!=0) k++;
    if (k>sqrt(i)) return 0;
       else return 1;
}
void print()
{
	for(int i=1;i<=n;i++)
	{
		cout<<ans[i]<<" ";
	}
	cout<<endl;
}
void su(int a)
{	
	for(int i=1;i<=n;i++)
	{
		if(pd(ans[a],i)==0&&v[i]==0)
		{
			ans[a]=i;
			v[i]=1;	
			if(a==n)
			{
				if(pd(ans[n],ans[1])==0&&ans[1]==1)
				{
					print();
				}
				return;	
			//	return;
			}
			else su(a+1);
			v[i]=0;
		}		
	}
}
int main()
{
	int i=1;
	while(cin>>n)
	{
		cout<<"Case "<<i<<":"<<endl;
		su(1);
		i++;
	}
	return 0;
}

膜拜dalao~

2020/8/11 09:23
加载中...