这个Java程序用来计算质数,基本原理就是判断整除,用一个ArrayList记录已知的质数,一开始放入3,5,7,11,13,17,19,23,29,然后从31开始对奇数进行for(int n=31; ;n+=2)循环,对每个待判断的n,用已知的质数依次判断是否能整除,如果得到一个新的质数,就把它放到ArrayList中。
特殊之处在于,我把它实现了序列化,每次启动时可以恢复到上次的状态,以下是源代码:
还可以把所有质数导出到文件,每4byte是一个质数,从小到大排列。我用这个程序计算了100,000个质数,算到的最大的质数是1299709。