环由N圈组成,如图所示。将自然数1, 2、…、n分别放在每个圆中,两个相邻圆中的数字之和应该是素数。
注意:第一圈的数量应该总是1。
输入:
n (0<n<20)
输出:
输出格式如下所示。每行代表环中的一系列圆数,从1顺时针和逆时针开始。数字的顺序必须满足上述要求。按词典顺序打印解决方案。
Sample Input:
6
8
Sample Input:Case 1:
1 4 3 2 5 6
1 6 5 2 3 4
Case 2:
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<bits/stdc++.h>
using nam