算法要求:给定一个数,要求返回小于给定数的一个正质数数组,质数的定义:只能被1和本身整除的数,叫做质数。根据这个定义,在写算法的时候必须逆向思维,从这个定位的方面入手,因为质数的定义重点在“只能”两个字,而这两个字的反面即代表着,一个非质数,除了1和本身之外,必定存在第三个数,这个数可以被整除。代码如下:
几点说明:“+=2”,是因为所有的偶数都不是质数,所以直接+=2,跳过所有的偶数。“j=3”,除去偶数后,最小可能的被除数就是3,所以从3开始排除。
输出结果:
供参考的另一个更为简洁的判断方法: