素数环 是环哦 不然就成素数链了

来源:互联网 发布:数据库文件类型 编辑:程序博客网 时间:2024/05/16 05:18


#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int a[21]={0};

int b[21];

int num=0;

void search(int x);

int primes[40];

int prime(int x);

int judge[21]={0};

int main()
{
 int i; 
 for(i=1;i<40;i++)
 {
  primes[i]=prime(i);
 } 
 for(i=1;i<21;i++)
 {
  b[i]=102;
 } 
 search(1);
 
 for(i=1;i<20;i++)
 
 {
  printf("%d ",b[i]);
 }
 printf("%d\n",b[20]);
 
 return 0;
}


int prime(int x)
{
 int i,j;
 
 if(x==2)
 {
  return 1;
 }
 else
 {
  for(i=2;i<x/2+1;i++)
  {
   if(x%i==0)
   {
    return 0;
   }
  }
  return 1;
 }
}


void search(int x)
{
 int i,j;
 
 if(x==21)
 {
  if(primes[a[1]+a[20]]==1)
  {
   for(i=1;i<21;i++) 
      {
      b[i]=a[i];
      }
  }
  
 }
 else
 {
  for(i=1;i<=20;i++)
  {
   if((judge[i]==0&&primes[i+a[x-1]]==1&&i<=b[x])||(x==1&&i<=b[x]))
   {
               a[x]=i;
               
    judge[i]=1;
    
    search(x+1);
    
    judge[i]=0;
   }
  }
 }
}

原创粉丝点击