素数环
来源:互联网 发布:手机淘宝代购怎么做 编辑:程序博客网 时间:2024/05/16 12:21
输入正整数n,把整数1,2,3,...,n组成一个环,使得相邻两个整数和为素数,输出时从整数1开始逆时针排列。同一个环只输出一次,n <= 16
样例输入:
6
样例输出:
1 4 3 2 5 6
1 6 5 2 3 4
回溯法
#include <stdio.h>#include <iostream>#include <math.h>using namespace std;const int maxn = 20;int a[maxn];bool vis[maxn];bool isPrame(int n){for (int i = 2; i <= sqrt(n); ++i){if (!(n % i))return false;}return true;}void work(int n, int cur){if (cur > n){if (isPrame(a[1] + a[n])){ for (int i = 1; i <= n; ++i)printf("%d ", a[i]);printf("\n");}}else{for (int i = 1; i <= n; ++i)if (!vis[i]){a[cur] = i;if (isPrame(a[cur] + a[cur - 1])){vis[i] = 1;work(n, cur + 1);vis[i] = 0;}}}}int main(){int n;scanf("%d", &n);a[1] = 1;vis[1] = 1;work(n, 2);return 0;}
0 0
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- 素数环
- JSTL fmt 格式化时间
- 【Android自动化测试之Robotium】04. 命令行运行Android Robotium自动化用例或单元测试用例
- 二维码的生成细节和原理
- git内部实现:分支
- Linux的cut命令
- 素数环
- QT与注册表
- 怎样让自我评价变成简历最出彩的地方?
- 使用ngx_lua发送文件给服务器
- A4大小,打印时不打控件
- cordova 创建空白项目,并安装gulp
- Android客户端每周自动化回归报告
- Redmine项目管理
- 获得由ControlTemplate或DataTemplate生成的控件的内部控件