题目链接:http://poj.org/problem?id=2034
题意
给出一个序列: {n,n+1,n+2,…,m} 现在对这个序列进行重新排序,使得每相邻2、3、。。。、d个数都是合数
题解
考虑使用回溯法,从第一个开始往后排。判断一个数num是否能够排在pos位置的方法(pos前面的数已经确定好了)是从这个数开始不断向前加一个数,只要这个和是素数就可以得到这个位置不能排这个数。
回溯法套用的就是生成全排列的那种方法。
代码
1 | ol is_prime[maxp]; |
题目链接:http://poj.org/problem?id=2034
给出一个序列: {n,n+1,n+2,…,m} 现在对这个序列进行重新排序,使得每相邻2、3、。。。、d个数都是合数
考虑使用回溯法,从第一个开始往后排。判断一个数num是否能够排在pos位置的方法(pos前面的数已经确定好了)是从这个数开始不断向前加一个数,只要这个和是素数就可以得到这个位置不能排这个数。
回溯法套用的就是生成全排列的那种方法。
1 | ol is_prime[maxp]; |
WeChat Pay
Alipay