程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度教程第89題

九度教程第89題

編輯:C++入門知識

C語言源碼: [cpp]  #include<stdio.h>   #include<math.h>   int s[18];   int mark[18];   int pri(int n)   {       int i,b;       b=(int)sqrt(n)+1;       if(n==2)           return 1;       i=2;       while(i<=b)       {           if(n%i==0)               return 0;           else               i++;       }       return 1;   }   void input(int i,int n)   {       int j,flag;       if(i==n+1)       {           flag=0;           for(j=1;j<n;j++)           {               if(pri(s[j]+s[j+1])==0)               {                   flag=1;                   break;               }           }           if(pri(s[1]+s[n])==0)               flag=1;           if(flag==0)           {               for(j=1;j<n;j++)                   printf("%d ",s[j]);               printf("%d\n",s[j]);           }       }       else       {           for(j=1;j<=n;j++)           {               if(mark[j]==-1&&pri(s[i-1]+j)==1)               {                   s[i]=j;                   mark[j]=1;                   input(i+1,n);                   mark[j]=-1;               }           }       }   }   int main()   {       int n,num,i;       num=1;       s[1]=1;       while(scanf("%d",&n)!=EOF)       {           for(i=0;i<=n;i++)               mark[i]=-1;           mark[1]=1;           printf("Case %d:\n",num++);           input(2,n);           printf("\n");       }   }       分享到:  上一篇:九度教程第88題 下一篇:九度教程第90題

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved