求助求助!!!
  • 板块灌水区
  • 楼主danaqi_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/30 14:39
  • 上次更新2024/3/30 16:30:14
查看原帖
求助求助!!!
689105
danaqi_楼主2024/3/30 14:39

这道题:素数环
请dalao帮忙看一看为什么出错了

#include<bits/stdc++.h>
using namespace std;
int ans,n,sum;
int a[105];
bool b[105];
void print(){
	++ans;
	for(int j=1;j<n;++j){
		printf("%d ",a[j]);
	}
	printf("%d\n",a[n]);
}
int pd(int a1,int a2){
	for(int i=2;i<=sqrt(a1+a2);++i)
		if((a1+a2)%i==0)	return 0; 
	return 1;
}
void dfs(int k){
	for(int i=2;i<=n;++i){
		if(!b[i]&&pd(i,a[k-1])){
			a[k]=i;
			b[i]=1;
			if(k==n&&pd(a[1],a[n]))
				print();
			else
				dfs(k+1);
			b[i]=0;
		}
	}
}
int main(){
	while((scanf("%d",&n))!=EOF){
		++sum;
		printf("Case %d:\n",sum);
		a[1]=1;
		b[1]=1;
		if(n==1){
			printf("1");
			printf("\n\n");
			continue;
		}
		dfs(2);
		printf("\n");
		memset(b,0,sizeof(b));
	}
	return 0;
} 
2024/3/30 14:39
加载中...