📄 素数环.cpp
字号:
#include<iostream>
using namespace std;
int p[] = {2,3,5,7};
int size = (sizeof p)/(sizeof *p);
bool isPrime(int m);
void printOut(int* a,int n);
void swap(int *x,int *y);
void search(int i,int* a,int n)
{
if(i==n)
{
if(isPrime(a[0]+a[n-1]))
printOut(a,n);
return;
}
else
{
for(int j = i;j<n;j++)
{
swap(&a[j],&a[i]);
if(isPrime(a[j]+a[j-1]))
search(i+1,a,n);
swap(&a[j],&a[i]);
}
}
}
bool isPrime(int m)
{
int j = 0;
for(; j<size; j++)
{
if(m == p[j])
return true;
if(m%p[j]==0)
break;
}
if(j==size)
return true;
return false;
}
void printOut(int* a,int n)
{
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl;
}
void swap(int *x,int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
void main()
{
int n = 4;
int *a = new int[n];
for(int i = 0;i<n;i++)
a[i] = i+1;
search(1,a,n);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -