素数环问题
将从1到n这n个整数围成一个圆环,
若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。
现要求输入一个n,求n个数围成一圈有多少种素数环,
规定第一个数字是1。写出相应的的算法思想并编程实现。
样例:
(1)
input:
6
output:
1 4 3 2 5 6
1 6 5 2 3 4
(2)
input:
8
output:
1 2 3 8 5 6 7 4
1 2 5 8 3 4 7 6
1 4 7 6 5 8 3 2
1 6 7 4 3 8 5 2
#include <iostream>
#include <cstdio>//printf()
#include <cstring>
#include <cmath>//取根号函数sqrt()
using namespace std;
//参考1 https://blog.csdn.net/qq_36963214/article/details/98777767
//参考2 https://blog.csdn.net/u011590573/article/details/80030522
/***
将从1到n这n个整数围成一个圆环,
若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。
现要求输入一个n,求n个数围成一圈有多少种素数环,
规定第一个数字是1。写出相应的的算法思想并编程实现。
样例:
(1)6
1 4 3 2 5 6
1 6 5 2 3 4
(2)8
1 2 3 8 5 6 7 4
1 2 5 8 3 4 7 6
1 4 7 6 5 8 3 2
1 6 7 4