将1、2、...、20这20个数排成一排,使得相邻的两个数之

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:10:42
高效的做法
将1、2、...、20这20个数排成一排,使得相邻的两个数之
和为素数,且第一个与最后一个和也为素数
不好意思,我直接黏贴忘记看了 ~ ~
答案不唯一,要求全部求出
大哥,我问的是做法,不是列举
用c++做的

输入20就可以了(把结果重定向到文本中去就可以看了)

#include "iostream"
using namespace std;
int pos, n, *pn, *p;
int iP[] =
{
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37
};
void fun(int n)
{
for(int i = 0; i < pos; i++)
if(iP[i] - pn[n - 1] < ::n + 1 && iP[i] - pn[n - 1] > 1 && p[iP[i] - pn[n -
1] - 1])
{
p[iP[i] - pn[n - 1] - 1] = 0;
pn[n] = iP[i] - pn[n - 1];
if(n == ::n - 1)
{
for(int i = 0; i < pos; i++)
if(pn[::n - 1] + 1 == iP[i])
{
for(int i = 0; i < ::n; i++)
cout << pn[i] << ' ';
cout << endl;
}
}
else
if(n + 1 < ::n)
fun(n + 1);
p[iP[i] - pn[n - 1] - 1] = iP[i] - pn[n - 1];
}

将22个汉字连起来. 敌人将抓的人编上号1,2...将1号杀了,将3号杀了,每隔1个杀1个.这批人共有111人,最后被杀的人是几号? 如何将2个图片合成到1个啊?? 将1-10这10个数填在圆圈中 没个圆圈里的数都是上面两个数的差.第一排除外! 如何在桌面窗口中,将分辨率调整为1024×768,将屏保时间调整为20分钟,将显示器调整为30分钟关闭. 如何在窗口中,将分辨率调整为1024×768,将屏保时间调整为20分钟,将显示器调整为30分钟关闭. 未来宽带技术将向哪些方向发展.最好有3个方向 请将<汤姆 索亚历险记>的6.7个人物形象进行分析 将192.168.36*网络划分为5个子网.计算子网掩码及个子网的IP地址/ 如何将路由器4个端口关闭1个或2个?