素数环(Prime Ring Problem,UVa 524)

来源:互联网 发布:阿里云ecs免费体验 编辑:程序博客网 时间:2024/05/21 19:49

输入n吧1,2,。。。n组成一个环

# include <stdio.h>int n;int vis[20];int A[20];int isp(int x){for (int i=2;i<x;i++){if (x%i==0)return 0;}return 1;}int dfs(int cur){//确定A【cur】到A[n]之间的数 int i;if (cur==n+1){    for (i=1;i<=n;i++)printf ("%d",A[i]);    printf("\n"); return 0;    }  for (i=1;i<=n;i++){    if (vis[i]==1&&isp(A[cur-1]+i)){A[cur]=i;vis[i]=0;dfs(cur+1);vis[i]=1;}    }     return 0;    }int main (){int A[20];for (int i=1;i<=16;i++){    vis[i]=1;}scanf ("%d",&n);vis[1]=1;dfs(1);return 0;}

0 0