将1到20这20个数排成一排,使得相邻的两个数之和为一个素数,且首尾两数字之和也为一个素数。(用C语言编写

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:08:13
情况紧急 速度
请在程序下 附上流程图或者 写出你的思路 万分感激!!

满足条件的组数太多,随便找几组
1 2 3 4 7 6 11 20 17 12 19 18 13 10 9 8 5 14 15 16
1 2 3 4 7 6 11 20 17 12 19 18 13 10 9 14 5 8 15 16
1 2 3 4 7 6 11 20 17 12 19 18 13 16 15 8 5 14 9 10
1 2 3 4 7 6 11 20 17 12 19 18 13 16 15 14 5 8 9 10
1 2 3 4 7 6 11 20 17 14 5 12 19 10 9 8 15 16 13 18
1 2 3 4 7 6 11 20 17 14 5 12 19 18 13 10 9 8 15 16

程序如下:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int Num[20], WaitList[20];
int arrPrime[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37};

int isPrime(int n)
{
int i;
for (i = 0; i < 12; i++)
{
if (n == arrPrime[i])
{
return 1;
}
}
return 0;
}

void Insert(int Pos)
{
int i, j;
for (i = Num[Pos - 1] % 2; i < 20; i += 2)
{
if (WaitList[i] != 0)
{
if (isPrime(Num[Pos - 1] + WaitList[i]))

数学题:将1,2,3,4,5这五个数字排成一排,最后一个数是奇数 1、2、3、4、5、6这6个数字排成一排 有8个数排成一排,前6个数的平均数是96,后三个数的平均数是84,第6个数是( )。 将1到9这9个数字全用上,排成两个数字比值为1比8 1 2 3 4 5 6这六个数字排成一排,若1和6之间恰有两个数字,可组成多少种不同的六位数 6个人排成一排,(1)A必须站在B前,(不一定相邻)共有几种排法? 九棵树,三个一排,怎么排成十排 1999位同学排成一排报数 用VFP编一个程序,将20个数(有正有负有零)直接查询出这20个数中的正数,负数,零的个数? 将若干名学生排成一排,按1,2,3,4,5,4,3,2,1,2,3,4,5,4,3,2,1...循环报数,第2006名学生报多少?