public class Test {

//判断某整数是不是质数

public static boolean isp(int n){

for(int i = 2; i < Math.sqrt(n)+1;i++){

if(n % i == 0){

return false;

}

}

return true;

}

public static int n = 6;

public static boolean[] vis = new boolean[n+1];//存储某数是否被使用

public static int[] arr = new int[n+1];//存放数列

public static void dfs(int cur){

if(cur == n+1 && isp(arr[1]+arr[n]) && arr[1] == 1){//如果最后一个数放进去了,并且最后一个数和第一个的和为质数,并且第一个数是1(因为我们只输出开头是1的,避免重复)

for(int i = 1; i <= n; i++){//打印出数列

System.out.print(arr[i]+",");

}

System.out.println();

}else{

for(int i = 1; i <= n; i++){//尝试放置每个数i

if(!vis[i] && isp(i+arr[cur-1])){//如果这个数没有被使用,并且与前一个数的和是质数

vis[i] = true;//标明这个数被使用

arr[cur] = i;//将这个数加入队列

dfs(cur+1);//求下一个数

vis[i] = false;//取消这个数

}

}

}

}

public static void main(String[] args) {

arr[0] = 0;

for(int i = 0; i <= n;i++){

vis[i] = false;

}

dfs(1);

}

}

素数环java_素数环(java实现)相关推荐

  1. 素数环java_素数环问题

    DFS,好像主要是对dfs的递归调用吧,自己也不太懂, 总之,它很神奇,多看看代码吧 #include #include #include #include int n; int isp[100]; ...

  2. 素数环-dfs回溯+二维数组记录(c++实现)

    问题描述: 给你n(2<=n<=16)个正整数1,2,3-n,你的任务是把这n个正整数组成一个环,使得任意相邻的两个整数之和为一个素数,输出有多少种合法方案. 输入 多组输入数据,每组数据 ...

  3. java编程实现素数环_回溯法解决素数环

    #include #include using namespace std;#define N 100000int isp[2 * N];int a[N];int visited[N];int is_ ...

  4. 编程解决素数环问题Java_回溯法解决素数环问题java实现

    素数环问题: 输入正整数n,把整数1,2,3--,n组成一个环,使得相邻两个整数之和均为素数,输出所有方案,注意同一个环应恰好输出一次.n<==16 样例输入: 6 样例输出: 1 4 3 2  ...

  5. java编程实现素数环_素数环问题(Java)

    问题描述:将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环. 分析:用回溯算法,考察所有可能的排列.然后通过剪枝(题目中的条件)筛选出可能的排列将其 ...

  6. 质数环问题c语言,素数环问题

    问题描述:将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环. n=20时,下面的序列就是一个素数环: 1 2 3 4 7 6 5 8 9 10 13 ...

  7. HDOJ1016 素数环(DFS)

    题目: 1016 Prime Ring Problem 1 /* 2 素数环(顺时针逆时针)---dfs 3 使用栈 4 1-n(n最大是20,相邻最大和39,素数范围2-39之间) 5 2-39间的 ...

  8. 素数环 与 算法 全排列

    在说起全排列前,先说一下昨天碰到的一个题目(答案不是我做出来的,但是我感觉有好多个亮点,贴出来方便日后的学习): 素数环 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 ...

  9. 素数环(nyoj488)

    素数环 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简便起 ...

  10. CCF NOI1153 素数环

    问题链接:CCF NOI1153 素数环. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 输入n(2<=n<=20),把1到n这n个数摆成一个环,要求相邻的两个数 ...

最新文章

  1. ORM是进化还是倒退?
  2. 产品经理其实是一种能力,而非职业
  3. 利润中心, 成本中心, 工作中心
  4. wxWidgets:wxTextCompleterSimple类用法
  5. Nacos源码NacosServiceRegistryAutoConfiguration
  6. c++用new求数组中n个数的和_在C++中实现任意大小数组的定义方法
  7. (95)FPGA二四译码器设计,面试必问(十九)(第19天)
  8. python使用redis做缓存_python实现类redis缓存
  9. 运行matlab生成多张图片后如何瞬间将图片全部关闭
  10. 【#9733;】SPF(Dijkstra)算法完美教程
  11. DockerFile的编写构建镜像步骤,常用命令和案例
  12. qq互联php教程,thinkphp5怎么整合qq互联登录教程
  13. 【03】Linux笔记
  14. python关键字参数必须位于位置参数之前_python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)...
  15. 校园网同时连手机和电脑、用数据线给电脑连网
  16. AGE-PERIOD-COHORT (APC) 连续变量和二分类变量分析全代码
  17. 又一大型色情直播App被捣毁,女主播哭求别告诉家人
  18. (Python)从零开始,简单快速学机器仿人视觉Opencv---运用四:图像损痕修复
  19. 勤于奋国外LEAD联盟赚钱注意事项
  20. 研究生初试录取系统c++

热门文章

  1. 记录一次.net 4.7.2安装失败解决情况
  2. 密码学原理与实践_浅谈SSH2工作原理
  3. python 的库如何开发_Python开发者必备6个基本库
  4. VS生成dump文件和调试dump文件
  5. 在vs中进行qt桌面应用开发时,编译器堆溢出的编译错误(error C1060编译器堆内存不足)
  6. duilib 中list控件的扩展
  7. C++引用(作为函数参数和返回值)
  8. 整理了 40 多套 Java 完整实战项目,各个精品!
  9. submit汉化 亲测可用
  10. Windows2003操作系统SQL Server 2008安装图解(详细)