求解素数环问题
素数: 质数(prime number)又称素数,有无限个。一个大于1的 自然数 ,除了1和它本身外,不能被其他自然数 整除 (除0以外)的数称之为素数(质数);否则称为 合数 。根据 算术基本定理 ,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。 素数环: 将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。 使用顺序表和顺序队列来解素数环问题: package com.clarck.datastructure.queue; import com.clarck.datastructure.linear.SeqList; /** * 求解素数环问题 * * @author clarck * */ public class PrimeRing { /** * 求1~n素数环 * * @param n */ public PrimeRing(int n) { // 创建一个顺序表存储素数环 SeqList<Integer> ring = new SeqList<Integer>(n); // 1添加到素数环中 ring.append(new Integer(1)); // 创建一个队列que SeqQueue<Integer>