C语言编程,问题: 1~20排列成一个圈,使俩俩相近的和为素数。

问题: 1~20排列成一个圈,使俩俩相近的和为素数。
陷入尴尬了,判断素数会,不知该如何对这20 个数 连续调用 排序, 还望大神可以指导 我这一小菜鸟。 ps:下面是我打的一个小程序,可以忽视哦。

#include

int fun();
int main()
{
int i, k, count = 0, j = 0, n = 1, m = 0, a[20], b[20];
for (i = 1; i <= 20; i++)
a[i - 1] = i;
b[0] = a[0];
for ( i = 1; i < 20; i++, k++ ) // 从这就尴尬了 。。
if ( i != j && fun( a[i] + a[j] ) == 1 )
{
b[k] = a[j];
j = i;
count++;
}
printf("\n");

}

int fun( int x )
{
int n, count;
count = 0;
for ( n = 1; n <= x / 2; n++ )
{
if ( x % n == 0 )
count++;
}
if ( count == 1 )
return 1;
else
return 0;
}

c

3个回答

1+2
2+3
3+4
4+7
7+6
6+5
5+8
8+9
9+10
10+13
13+16
16+15
15+14
14+17
17+12
12+11
11+18
18+19
19...?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问