本题链接:点击打开链接
本题大意:
输入一个数n表示需要查找的数有n个,并且这些数连成一个环,任意两个相邻的数之和都为素数。
解题思路:
就是从1开始对每个点进行查找,符合条件的点就存到一个数组中,标记找过的点,查找完一次就进行输出,然后取消标记继续查找,直至将1~n中的点从小到大均查找一次。具体请参考代码:
#include<stdio.h>
#include<string.h>
int mark[22];
int num[22];
int prime_num[12]={2,3,5,7,11,13,17,19,23,29,31,37};
int n;
int is_prime(int a)
{
for(int i=0;i<12;i++)
if(a==prime_num[i])
return 1;
return 0;
}
void print_num()
{
for(int i=1;i<n;i++)
printf("%d ",num[i]);
printf("%d\n",