回溯法求解素数环
来源:互联网 发布:mysql数据库回滚 编辑:程序博客网 时间:2024/05/22 12:13
#include<stdio.h>#include<stdlib.h>#define n 16int num = 0;int A[n] = {0};int isp[n*2] = {0};int vis[n] = {0};void dfs(int cur){ int i; if(cur == n && isp[A[0] + A[n-1]]){ //递归边界。测试第一个数和最后一个数 printf("%8d:",++num); for(i = 0; i < n; i++){ printf("%3d", A[i]); //打印方案 } printf("\n"); }else{ 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 is_prime(int un){ int i = 0; for(i = 2; i <= un / 2; i++){ if(un % i == 0){ return 0; } } return 1;}int main(){ int i; for(i = 2; i <= n*2; i++){ isp[i] = is_prime(i); } for(i = 0; i < n; i++){ A[i] = i + 1; } dfs(1); return 0;}
0 0
- 回溯法求解素数环
- 回溯法素数环
- 回溯法-素数环
- 回溯法解决素数环
- 回溯法解决素数环
- //回溯法输出素数环
- 回溯法 之 素数环
- 回溯法-素数环问题
- 回溯法 素数环问题
- 回溯法求素数环
- 回溯法迷宫求解
- 回溯法解决素数环问题
- 回溯法之素数环问题
- 小白书之回溯法求素数环
- NYOJ 素数环(回溯法dfs)
- NYOJ - 488 - 素数环(回溯法)
- 回溯法--dfs,素数环升级版
- 素数环 回溯
- 分页查询Oracle语法
- 项目开发流程-经典版
- 操作说明
- android processBar and RatingBar
- 知识学习网站
- 回溯法求解素数环
- 快来测测你JavaScript的功力吧
- C++中指针和引用的区别
- C++ 学习之路(4):静态成员
- 反射
- 知识体系
- UDP通讯
- 安卓应用最简单做到沉浸式
- Android的UI框架汇总整理