noj算法题——素数环
来源:互联网 发布:淘宝天猫优惠券兼职 编辑:程序博客网 时间:2024/05/18 02:21
素数环问题
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
把1到20这重新排列,使得排列后的序列A满足:
a. 任意相邻两个数之和是素数
b. 不存在满足条件a的序列B使得:A和B的前k(0 <= k <= 19)项相同且B的第k+1项比A的第k+1项小。
输入:
没有输入。
输出:
输出A,两个数字之间用一个空格隔开,第一个数字前面和最后一个数字后面没有空格。
输入样例:
输出样例:
C语言代码如下:
#include <stdio.h>#include <stdlib.h>#include <math.h>int isprime(int a);void search(int m);void swap(int m,int i);void print_result();long sum=0;int a[21];int isprime(int m){ int i; int j=(int)sqrt(m); for(i=2;i<=j;i++){ if(m%i==0) return 0; } return 1;}void print_result(){ int i; sum++; if(sum==2) { printf("%d",a[1]); for(i=2;i<=20;i++) printf(" %d",a[i]); printf("\n"); exit(0); }}void swap(int m,int i){ int temp; temp=a[m]; a[m]=a[i]; a[i]=temp;}void search(int m){ int i; if(m>20){ if(isprime(a[20]+a[1])) print_result(); return; } else{ for(i=m;i<=20;i++){ swap(m,i); if(isprime(a[m-1]+a[m])){ search(m+1); } swap(m,i); } }}int main(){ int i; for(i=1;i<=20;i++) a[i]=i; search(2); return 0;}
0 0
- noj算法题——素数环
- 算法练习-NOJ-1008-素数环问题
- noj算法题——二分查找
- noj算法题——走迷宫
- noj算法题——循环赛日程表
- noj算法题——装载问题
- noj算法题——堡垒问题
- 素数环 NOJ 1104
- noj算法题——穷举n位二进制数
- noj算法题——0-1背包问题
- noj算法题——八皇后问题
- noj算法设计题——踩气球
- noj算法设计题——字母转换
- noj算法设计——迷宫问题
- NOJ——1641错误的算法
- 算法——素数环
- noj算法设计——求图象周长
- noj算法设计——农场灌溉问题
- Linux环境变量
- 提高第4课时,自测
- SCP 断点续传!
- QT 打开txt文件以及出现的乱码问题
- linux命令之 cut
- noj算法题——素数环
- Java基础
- Android development 网站打不开
- Endnote 使用可能遇到的问题
- Online Shopping - The Best Place to Buy the Best Gizmo_61913.
- HDU2043,两段代码一模一样,一个AC了,一个WA,不知道为什么
- Cannot connect to VM 链接不到虚拟机
- Oracle数据库游标案例讲解与源码
- cocos2dx 3.1.1 用tinyxml2.h解释xml (C++)