数组的常用算法(2) – boolean数组的灵活应用

  • Post author:
  • Post category:其他



在《数组的常用算法(1)》 http://blog.csdn.net/b_miracle6/article/details/47111059 里,初步尝试了如何利用数组值与数组脚标的对应关系,并以boolean数组为工具的算法。


我们常常习惯用int, double, String等来建立数组,其实boolean数组在简化代码方面有很好的效果。


拿一个老掉牙的素数问题来做例子:从command line读入一个数字N, 输出出从0~N的所有素数


一般思路:


1. 遍历2~N,用method boolean isPrime(int x)来判断是否为素数,是就打印输出;


2. 在isPrime(int x)里


– 如果x是偶数,则肯定是合数,返回值为false;


– 如果x是奇数, 则用从3开始的奇数去除x, 若能整除,说明也是合数,返回值为false


* 这里有一个小的数学窍门,除数选择不必从3一直到x,只需要到x的平方根就可以了(具体证明看数学书)



版权声明:本文为b_miracle6原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。