求质数

作者: b3a9256b37bc | 来源:发表于2015-08-26 11:28 被阅读0次

想到当初实习和转正的面试中都遇到了算质数这道题,又都没有很好的写出来,就很懊恼,所以想当个好的程序媛,先从这个问题开始吧。

“对于给定的整数 N,求出所有小于 N 的质数,并打印出来。”

当时听到这个问题,第一反应肯定是从2到N-1的除,如果都不能整除就是质数,然后我就这么做了……好吧,不要嘲笑我,就算是这样代码也写得磕磕绊绊,Java和c++混在一起的感觉。

今天搜“求质数”的时候看到这么一篇文章,http://blog.csdn.net/net_assassin/article/details/8960572,我所想到的方法按10分只能得1分,好吧。2到N的开方的方法也听同学提起过,倒是试除法之后的筛法,让人耳目一新,值得学习一下。

筛法叙述起来是这样的:首先,2是公认最小的质数,所以,先把所有2的倍数去掉;然后剩下的那些大于2的数里面,最小的是3,所以3也是质数;然后把所有3的倍数都去掉,剩下的那些大于3的数里面,最小的是5,所以5也是质数......上述过程不断重复,直到所求出的质数大于N的开方,这时就已经把某个范围内的合数全都除去(就像被筛子筛掉一样),剩下的就是质数了。

http://coolshell.cn/articles/3738.html把两种算法表达的比较好。

相关文章

  • 求质数

    public class zhishutest { public static void main(String[...

  • 求质数

    想到当初实习和转正的面试中都遇到了算质数这道题,又都没有很好的写出来,就很懊恼,所以想当个好的程序媛,先从这个问题...

  • 求质数,python

    质数又称为素数,是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 求n之内...

  • 求质数因子

    题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(如180的质因子为2 2 3 3 5 )最后一...

  • JS求质数

  • 极少数人用过的另类素数求解法,C语言经典算法之筛选法求质数

    筛选求质数 明除了自身之外,无法被其它整数整除的数称之为质数,要求质数很简单,但如何快速的求出质数则一直是程式设计...

  • 第二夜——质数

    大家好,我是平头哥,今天给大家分享的内容为如何求质数。 什么是质数 百度百科上说质数(prime number)又...

  • Sum All Primes

    求小于等于给定数值的质数之和。 只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 ...

  • Freecodecamp中级算法

    求小于等于给定数值的质数之和。 只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 ...

  • FreeCodeCamp筆記之:Sum All Primes

    题目 求小于等于给定数值的质数之和。只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 ...

网友评论

      本文标题:求质数

      本文链接:https://www.haomeiwen.com/subject/jbjqcttx.html