Prime Ring 问题如下:
给定一个正整数n(1<=n<=20), 找出所有满足下列条件的环(按照从小到大顺序输出):
1. 由1...n个元素构成.
2. 任意相邻的两个元素,其相加的和必须是一个素数.
为了使问题简单化,我们不妨设环中的第一个元素总是从1开始.下面给出两个示例:
n = 6
1 4 3 2 5 6
1 6 5 2 3 4
n = 8
1 2 3 8 5 6 7 4
1 2 5 8 3 4 7 6
1 4 7 6 5 8 3 2
1 6 7 4 3 8 5 2
BTW,顺时针和逆时针算两个不同的结果.
我的方法比较简单:在(n-1)!的搜索空间, 直接搜索,去除一些不可能的分支. 但速度依然不是很快. 不知道有没有更好的方法?
此帖于 2008-01-22 07:57 PM 被 Meta 编辑.
|