素数环java_素数环(java实现)
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实现)相关推荐
- 素数环java_素数环问题
DFS,好像主要是对dfs的递归调用吧,自己也不太懂, 总之,它很神奇,多看看代码吧 #include #include #include #include int n; int isp[100]; ...
- 素数环-dfs回溯+二维数组记录(c++实现)
问题描述: 给你n(2<=n<=16)个正整数1,2,3-n,你的任务是把这n个正整数组成一个环,使得任意相邻的两个整数之和为一个素数,输出有多少种合法方案. 输入 多组输入数据,每组数据 ...
- java编程实现素数环_回溯法解决素数环
#include #include using namespace std;#define N 100000int isp[2 * N];int a[N];int visited[N];int is_ ...
- 编程解决素数环问题Java_回溯法解决素数环问题java实现
素数环问题: 输入正整数n,把整数1,2,3--,n组成一个环,使得相邻两个整数之和均为素数,输出所有方案,注意同一个环应恰好输出一次.n<==16 样例输入: 6 样例输出: 1 4 3 2 ...
- java编程实现素数环_素数环问题(Java)
问题描述:将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环. 分析:用回溯算法,考察所有可能的排列.然后通过剪枝(题目中的条件)筛选出可能的排列将其 ...
- 质数环问题c语言,素数环问题
问题描述:将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环. n=20时,下面的序列就是一个素数环: 1 2 3 4 7 6 5 8 9 10 13 ...
- HDOJ1016 素数环(DFS)
题目: 1016 Prime Ring Problem 1 /* 2 素数环(顺时针逆时针)---dfs 3 使用栈 4 1-n(n最大是20,相邻最大和39,素数范围2-39之间) 5 2-39间的 ...
- 素数环 与 算法 全排列
在说起全排列前,先说一下昨天碰到的一个题目(答案不是我做出来的,但是我感觉有好多个亮点,贴出来方便日后的学习): 素数环 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ...
- 素数环(nyoj488)
素数环 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简便起 ...
- CCF NOI1153 素数环
问题链接:CCF NOI1153 素数环. 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 输入n(2<=n<=20),把1到n这n个数摆成一个环,要求相邻的两个数 ...
最新文章
- ORM是进化还是倒退?
- 产品经理其实是一种能力,而非职业
- 利润中心, 成本中心, 工作中心
- wxWidgets:wxTextCompleterSimple类用法
- Nacos源码NacosServiceRegistryAutoConfiguration
- c++用new求数组中n个数的和_在C++中实现任意大小数组的定义方法
- (95)FPGA二四译码器设计,面试必问(十九)(第19天)
- python使用redis做缓存_python实现类redis缓存
- 运行matlab生成多张图片后如何瞬间将图片全部关闭
- 【#9733;】SPF(Dijkstra)算法完美教程
- DockerFile的编写构建镜像步骤,常用命令和案例
- qq互联php教程,thinkphp5怎么整合qq互联登录教程
- 【03】Linux笔记
- python关键字参数必须位于位置参数之前_python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)...
- 校园网同时连手机和电脑、用数据线给电脑连网
- AGE-PERIOD-COHORT (APC) 连续变量和二分类变量分析全代码
- 又一大型色情直播App被捣毁,女主播哭求别告诉家人
- (Python)从零开始,简单快速学机器仿人视觉Opencv---运用四:图像损痕修复
- 勤于奋国外LEAD联盟赚钱注意事项
- 研究生初试录取系统c++
热门文章
- 记录一次.net 4.7.2安装失败解决情况
- 密码学原理与实践_浅谈SSH2工作原理
- python 的库如何开发_Python开发者必备6个基本库
- VS生成dump文件和调试dump文件
- 在vs中进行qt桌面应用开发时,编译器堆溢出的编译错误(error C1060编译器堆内存不足)
- duilib 中list控件的扩展
- C++引用(作为函数参数和返回值)
- 整理了 40 多套 Java 完整实战项目,各个精品!
- submit汉化 亲测可用
- Windows2003操作系统SQL Server 2008安装图解(详细)