
例题7-4 素数环(Prime Ring Problem, UVa 524)
发布日期:2021-05-06 16:10:10
浏览次数:36
分类:精选文章
本文共 847 字,大约阅读时间需要 2 分钟。
原题链接:
分类:回溯法 备注:回溯法和生成-测试法的比较备注是紫书上的,因为生成-测试法即纯枚举,是行不通的,作者对其进行了一下比较。
代码如下:
#include#include using namespace std;int ans[20] = { 1 }, vised[20], isp[40], n, kase;bool isPrime(int x) { if (x == 1)return false; int limit = x / 2 + 1; for (int i = 2; i < limit; i++) if (x % i == 0)return false; return true;}void dfs(int pos) { if (pos >= n) { for (int i = 0; i < n; i++) printf("%d%c", ans[i], i == n - 1 ? '\n' : ' '); return; } for (int i = 2; i <= n; i++) if (!vised[i]) { if (!isp[ans[pos - 1] + i])continue; if (pos == n - 1 && !isp[i + 1])continue; ans[pos] = i; vised[i] = 1; dfs(pos + 1); vised[i] = 0; }}int main(void) { for (int i = 0; i <= 40; i++) if (isPrime(i))isp[i] = 1; while (~scanf("%d", &n)) { if (kase)printf("\n"); printf("Case %d:\n", ++kase); dfs(1); } return 0;}
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年03月22日 00时26分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
多线程之旅(准备阶段)
2021-05-09
Python 之网络式编程
2021-05-09
MySql5.5安装步骤及MySql_Front视图配置
2021-05-09
mybatis #{}和${}区别
2021-05-09
Java Objects工具类重点方法使用
2021-05-09
Java内存模型(JMM)
2021-05-09
AQS相关
2021-05-09
WCF学习之旅—第三个示例之一(二十七)
2021-05-09
java ThreadPoolExecutor初探
2021-05-09
Markdown进阶
2021-05-09
快速指数算法
2021-05-09
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
2021-05-09
SpringCloud微服务(03):Hystrix组件,实现服务熔断
2021-05-09
Spring 框架基础(01):核心组件总结,基础环境搭建
2021-05-09
JavaEE基础(02):Servlet核心API用法详解
2021-05-09
SpringBoot2 整合Nacos组件,环境搭建和入门案例详解
2021-05-09
Sentry快速开始并集成钉钉群机器人
2021-05-09