您的位置:首页 > 职场人生

黑马程序员——求质数算法的优化:编程打印所有的3位质数,质数:只能被1和其本身整除

2014-08-01 13:07 288 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
package com.itblackhorse;/*** 编程打印所有的3位质数,质数特点:只能被1和其本身整除.*/public class Test8{public int prime[] = new int[170];                      // 建立质数数组public static void main(String[] args){Test8 test8 = new Test8();test8.calcPrime();for (int i = 0; i < 170; ++i){if (test8.prime[i] > 100){System.out.println(test8.prime[i]);			// 输出数组中所有三位的质数}}}public void calcPrime()									// 非质数数字都是由比它更小的质数所祖成的.{int index = 1;			                            // 用于记录已查找到的质数的个数prime[0] = 2;boolean primeFlag = false;for (int i = 3; i < 1000; ++i){int count = 0;// -------------------------------------------- // 判断i是否为质数.while (count < index && primeFlag != true){if (i % prime[count] != 0)					// 如果除不尽,继续判断{++count;								// 选择质数数组的下一个进行判断if (count == index)						// 如果当前数组中所有质数都无法除尽,说明此数为质数{primeFlag = true;					// 设质数标志为真,结束本次循环}}else 										// 如果能除尽,说明不是质数,通过设置count结束本次循环{count = index;}}// -------------------------------------------- // 将新质数存到数组,if (primeFlag == true){prime[index] = i;index++;                                    // 更新质数数组存储到的质数的个数primeFlag = false;}}}};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐