码迷,mamicode.com
首页 > 其他好文 > 详细

素数环

时间:2019-06-04 20:57:55      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:code   lse   cstring   cst   else   clu   div   main   pac   

#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
bool prime(int n){
    if(n==1) return 0;
    else for(int i=2;i<=sqrt(n);i++) {if(!(n%i)) return 0;}
    return 1;
}
int n;
int vis[20],a[20]={0};
void print(){
    for(int i=1;i<=n;i++)
        {
            printf("%d",a[i]);
            if(i!=n)printf(" ");
        }
    printf("\n");
}
void dfs(int j){
    if(j>n){
        print();
        return;
    }
    for(int i=2;i<=n;i++){
         if(j==n){if(!prime(1+i))continue;}
            else ;
        if(vis[i]==0&&prime(a[j-1]+i)){
            a[j]=i;
            vis[i]=1;
            dfs(j+1);
            vis[i]=0;
        }
    }
}
int main(){
    cin>>n;
    memset(vis,0,sizeof(vis));
    memset(a,0,sizeof(a));
    a[1]=1;
    vis[1]=1;
    dfs(2);
}

问题描述:

输入n  输出一个由1到n相邻是素数的环

素数环

标签:code   lse   cstring   cst   else   clu   div   main   pac   

原文地址:https://www.cnblogs.com/yzbpxx/p/10976064.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!