zoukankan      html  css  js  c++  java
  • nyist 488 素数环

    有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。

    为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。

    这题在进行判断时,发现在大于3的素数都没有环,所以判断一下这个条件,其他的就是按照题目意思进行输出。

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <math.h>
     4 
     5 int n;
     6 int a[25];
     7 int b[25];
     8 int flag = 1;
     9 
    10 bool prime(int x)
    11 {
    12     int f = 1;
    13     int i;
    14     for(i = 2; i <= sqrt(x) ;i++)
    15       if(x % i == 0)
    16       {
    17           f = 0;
    18           break;
    19       }
    20       return f;
    21 }
    22 
    23 void judge(int t)
    24 {
    25     if(t == n && prime(a[t-1]+a[0]) )
    26     {
    27         flag = 0;
    28         int i;
    29         for(i = 0; i < n; i++)
    30           printf("%d ",a[i]);
    31           printf("\n");
    32     }
    33     else
    34     {
    35         int j;
    36         for(j = 2; j <= n; j++)
    37           if(!b[j] && prime(j + a[t-1] ) )
    38           {
    39               b[j] = 1;
    40               a[t] = j;
    41               judge(t+1);
    42               b[j] = 0;
    43           }
    44     }
    45 }
    46 
    47 int main()
    48 {
    49     int k = 1;
    50   while(scanf("%d",&n) && n)
    51   {
    52       memset(a,0,sizeof(a));
    53       memset(b,0,sizeof(b));
    54       a[0] = 1;
    55       flag = 1;
    56       printf("Case %d:\n",k++);
    57       if(n >= 3 && prime(n) )
    58        goto loop;
    59       judge(1);
    60     loop:
    61       if(flag)
    62        printf("No Answer\n");
    63   }
    64   return 0;
    65 }
  • 相关阅读:
    搭建App主流框架_纯代码搭建(OC)
    UIApplication,UIWindow,UIViewController,UIView(layer)
    插件类
    VIEWCONTROLLER的启动流程
    UIView你知道多少
    分析UIWindow
    创建控制器的3种方式、深入了解view的创建和加载顺序
    UIViewController的生命周期及iOS程序执行顺序
    ViewController加载顺序与self.view
    GCD
  • 原文地址:https://www.cnblogs.com/yyroom/p/3028222.html
Copyright © 2011-2022 走看看