美文网首页
求素数(filter)

求素数(filter)

作者: 快乐的杀马特 | 来源:发表于2017-10-23 20:52 被阅读0次

用filter求素数

思路

一、列出从2开始的所有自然数,构造一个序列:

2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...

二、取序列的第一个数2,它一定是素数,然后用2把序列的2的倍数筛掉:

3,4, 5,6, 7,8, 9,10, 11,12, 13,14, 15,16, 17,18, 19,20, ...

三、取新序列的第一个数3,它一定是素数,然后用3把序列的3的倍数筛掉:

5,6, 7,8,9,10, 11,12, 13,14,15,16, 17,18, 19,20, ...

四、取新序列的第一个数5,然后用5把序列的5的倍数筛掉:

7,8,9,10, 11,12, 13,14,15,16, 17,18, 19,20, ...

不断筛下去,就可以得到所有的素数。


解法

1、构建一个3开始的奇数序列,无限生成序列。为n

2、定义一个筛选函数:依次除以奇数,把不能整除奇数序列的数字挑选出来。

3、定义一个生成器,不断返回下一个素数:

4、设置退出循环的条件:1000以内的素数


相关文章

  • 求素数(filter)

    用filter求素数 思路 一、列出从2开始的所有自然数,构造一个序列: 2, 3, 4, 5, 6, 7, 8,...

  • 迭代器结合filter求素数

    素数原理: 1、列出从2开始的所有自然数,构造出一个序列(迭代器生成)2,3,4,5,6,7,8,9,.........

  • 求 1到100的所有素数 -- Java描述

    求 1到100的所有素数 -- Java描述 题目: 求1到100的所有素数。 例子: 素数定义: 素数又称质数,...

  • 求素数

    求100到200的素数 输入一个大于3的数,判断是不是素数

  • 求素数

    代码如下:

  • 求素数

    初始化版本 由于只需要判断根号n前是否为素数就行了所以范围又可以缩小一般进阶改良版本

  • Python 只使用while求100以内的素数

    无聊之作求素数的方法有很多这篇文章带来一个很无聊的写法只使用while去求素数直接上代码: 常规for求素数 一起...

  • Python Day1

    愚蠢的求素数 求和

  • filter实现素数算法

    素数算法 看到廖雪峰网站上用python的实现, 看起来很简单, 但是最终还是自己实现一遍比较好, ==代码点我跳...

  • python 爬虫二期作业 | 第一次作业

    求1-100以内的素数 思路:直接求素数的思路当时没想好 ,就直接排除法将不是素数的从列表中删除 爬取糗事百科页面...

网友评论

      本文标题:求素数(filter)

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