素数环java_素数环问题
DFS,好像主要是对dfs的递归调用吧,自己也不太懂,
总之,它很神奇,多看看代码吧
#include
#include
#include
#include
int n;
int isp[100];
int vis[100];
int A[100];
int is_prime(int x) //判断一个数是否为素数(该数比较小,不会引起超时)
{
int i=1,k;
for(i=2;i<=(k=(int)sqrt(x));i++)
if(x % i == 0)break;
if(i<=k)return 0;
else return 1;
return x;
}
void dfs(int cur) //深搜寻路
{
if(cur == n && isp[A[0] + A[n-1]]) //递归边界,别忘了保证第一个和最后一个数,环结构
{
int i;
printf("1");
for(i=1;i
printf(" %d",A[i]); //打印方案
printf("\n");
}
else
{
int i;
for(i=2;i<=n;i++) //尝试放置每个数 i
if(!vis[i] && isp[i + A[cur-1]]) //如果 i 没有用过,且与前一个数之和为素数
{
A[cur] = i;
vis[i] = 1; //设置使用标志,表明用过
dfs(cur + 1);
vis[i] = 0; //清除标记
}
}
}
int main()
{
int N,i;
for(i=2;i<=200;i++)
isp[i] = is_prime(i); //生成素数表(较小范围的素数表,大范围的用素数筛法)
while(scanf("%d",&N) == 1,N)
{
n = N;
A[0] = 1;
dfs(1);
}
return 0;
}
素数环java_素数环问题相关推荐
- 素数环-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_ ...
- 质数环问题c语言,素数环问题
问题描述:将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环. n=20时,下面的序列就是一个素数环: 1 2 3 4 7 6 5 8 9 10 13 ...
- 编程解决素数环问题Java_回溯法解决素数环问题java实现
素数环问题: 输入正整数n,把整数1,2,3--,n组成一个环,使得相邻两个整数之和均为素数,输出所有方案,注意同一个环应恰好输出一次.n<==16 样例输入: 6 样例输出: 1 4 3 2 ...
- 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个数摆成一个环,要求相邻的两个数 ...
- UVA524 素数环 Prime Ring Problem
UVA524 素数环 Prime Ring Problem - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/UVA52 ...
最新文章
- 自动驾驶进入第3阶段 ADAS黑科技守护开车人
- mysql主从复制及失败切换
- 牛客IOI周赛26-提高组(逆序对,对序列,未曾设想的道路) 题解
- 龙芯处理器可以适配鸿蒙os吗,SylixOS龙芯1C适配总结
- WordPress 数据库操作WPDB对象($wpdb)用法详解
- 输出质数(java)
- 【英语学习】【WOTD】orthography 释义/词源/示例
- Java1.5并发包下阻塞队列的生产者与消费者功能简单实现
- ubuntu18.04超级简单的安装wine QQ教程
- Linux Ubuntu系统下载安装NCL
- 计算机应用基础—多媒体技术(二)
- spring boot中的banner制作
- AutoCAD Civil 3D 介绍
- 翡翠手链更能够突显佩戴者的非凡气质
- 解决D3DCompiler_47.dll文件丢失找不到问题
- 怎样用比较器实现信号的衰减和饱和_水下技术 无人水下航行器在水电站隧洞检查中的应用探讨...
- PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序
- 舵机速度控制原理细解
- 海外加速,让你拥有和 Steam 一样的高速下载
- sql复杂查询语句的使用