zoukankan      html  css  js  c++  java
  • 1104-素数环

    描述

    输入正整数n,把整数1,2,3,…,n组成一个环,使得相邻两个整数之和为素数。输出时从整数1开始逆时针排列。同一个环应恰好输出一次。1<n≤16。

    输入

    输入正整数n,1<n≤16。

    输出

    输出素数环序列,从整数1开始逆时针排列。

    样例输入

    6

    样例输出

    1 4 3 2 5 6

    1 6 5 2 3 4

    #include <iostream>
    using namespace std;
    const int PRIME[] = {0, 0, 1, 1, 0, 1, 0, 1, 0, 0,
                         0, 1, 0, 1, 0, 0, 0, 1, 0, 1,
                         0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
                         0, 1};
    int isPrime(int a)
    {
        return PRIME[a];
    }
    void search(int *p, int index, int length)
    {
        int i,j,t;   
        if(index==length&&isPrime(p[0]+p[length-1]))
         {
             printf("%d", p[0]);
             for(i=1;i<length; i++)
                 printf(" %d",p[i]);
             printf("
    ");
             return;
         }  
        for(i=index;i<length;i++)
         {
             t = p[i];
             for(j=i;j>index;j--)
                 p[j]=p[j-1];
             p[index]=t;
             if(isPrime(p[index]+p[index-1]))
             {
                 search(p,index+1,length);
             }
             t = p[index];
             for(j=index;j<i;j++)
                 p[j]=p[j+1];
             p[i]=t;
         }
     }
    void searchPrimeRing(int a)
    {
        int list[16],i;    
        for(i=0;i<a;i++)
             list[i]=i+1;   
        search(list,1,a);
    } 
    int main()
    {
        int n,i = 1;
        scanf("%d",&n);
        searchPrimeRing(n);
        i++;
        return 0;
    } 
    

      

  • 相关阅读:
    Jmeter环境搭建
    python基础(四)
    python基础(三)
    python基础(二)
    python基础(一)
    jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包
    接口测试及其工具简单使用
    Linux安装jdk
    使用loadrunner监控apcahe
    LoadRunner监控Linux
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436918.html
Copyright © 2011-2022 走看看