numpy 之用埃拉托斯特尼筛法筛选质数_J符离的博客-程序员秘密

技术标签: 埃拉托斯特尼筛法  数据分析  numpy  

什么是埃拉托斯特尼筛法?是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于  的所有素数的倍数剔除,剩下的就是素数。(嗯,解释来自百度百科)

什么是素数?又称质数(prime number),质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

如果要取100以内的质数,按照埃拉托斯特尼筛法的意思,必须把不大于100开根号(即10)以内的所有质数的倍数剔除。

用Python实现,直接使用numpy库,代码如下:

# 埃拉托斯特尼筛法

a = np.arange(1,101)
n_max = int(np.sqrt(len(a)))
is_prime = np.ones(len(a),dtype=bool)#创建100个元素的数组,用来标记是否为质数
is_prime[0] = False

for i in range(2,n_max):
    if i in a[is_prime]: #跳过非质数
        is_prime[(i**2-1)::i] = False #减一是为了修复从0开始索引的问题
        
print(a[is_prime])

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_22592457/article/details/97544459

智能推荐

c语言程序实现直线插补有图形,谁有用C语言编写的直线,圆弧插补程序?_海Cha的博客-程序员秘密

给你推荐一本书,唐泽圣,周嘉玉,李新友写的,我们以前上课用的,上面有常用的直线和圆弧算法,比如数值微分法生成直线,逐点比较法插补圆弧,角度DDA法产生圆弧,基本都有C语言的源程序.你可以搜搜这本书,本来都有源程序的,后来给删掉了~~贴一个别人的/*************************************************************************Func...

关于JDBC总结_YR7398的博客-程序员秘密

1.JDBC介绍     1.1.What is JDBC?            1.     JDBC(Java Database Connectivity)是基于JAVA语言访问数据库的一种技术。            2.     JDBC 的设计思想:由 SUN 公司(JCP)提供访问数据库的接口,由数据库厂商提                    供对这些接口的实现,程序员编程时都是...

读国外程序员的回帖想到的_上下求索.的博客-程序员秘密

最近工作接触到一些东西,所有的参考都是英文版的,例子也是英文的,以前在这方面的基础很薄弱,所以读那些裸代码的确有难度。在baidu google上找相关信息的时候,发现了一个国外的论坛,从发帖和回帖的时间来看,不亚于CSDN论坛。于是尝试着用英文去发帖子,从回复的速度来看,对比以前在CSDN的发帖,发现那里得到的回复更快。在CSDN 上我还有个感觉,就是那些标题带"散分",“有奖”,“裸体跪求”之

vue-admin-template框架下修改svg的颜色_前端-珊珊的博客-程序员秘密_vue中修改svg颜色

嘿嘿,好久不更博客啦。突然记起这个修改svg颜色这个挺好玩的,记录一下。哈哈哈哈,没想到svg还能这样玩。需求:vue-admin-template里面某个模块鼠标滑过时里面的图标变颜色首先解决方案有很多,改background-image,改img的路径。我都觉得这些最终都是要换图片,有没有直接在图片的基础上改个颜色就ok的。哈哈,svg一下子映入脑子。这玩意阿里icon-font都可以改颜色,啧啧,那么我是不是也可以尝试。说干就干。百度走一波,首先看到一个哥们的博客。如图:https:/

随便推点

采购订单审批人_西柚e的博客-程序员秘密

CDHDR条件OBJECTCLAS = 'EINKBELEG'OBJECTID = 采购订单TCODE = ME28 OR ME29N取对象OBJECTCLAOBJECTIDCHANGENRUSERNAMETCODEUDATEUTIMEUDATE UTIME降序排列循环 CDHDR 内表然后去CDPOS 中找条件OBJECTCLAS = EINKBELEGOBJECTID = 采购订单TABNAME = 'EKKO'FNAME = 'FRGKE'VALUE_NE

Winform 嵌入Word Excel Powerpoint_jjhua的博客-程序员秘密

用微软的免费dsoframer.ocx实现winform嵌入Word Excel Powerpoint。使用时本机调试运行需注册该ocx,部署时客户端可以不用注册。因为该ocx是32位版,因此注册时需要注意两个问题:1、我的操作系统是win8.1 x64 ,win7同理,只要是x64的操作系统不能拷贝到c:\windows\system32文件夹下,应该在C:\Windows\SysW

大项目之网上书城(二)——主页(上)_weixin_30955617的博客-程序员秘密

目录 大项目之网上书城(二)——主页(上) 1.主页 代码 效果图 2.head2.jsp 代码 效果图 3.二级页面的empty.jsp 代码 效果图 ...

【Android】详解Android 网络操作_weixin_30667649的博客-程序员秘密

目录结构:contents structure [+]判断网络判断是否有网络连接判断WIFI网络是否可用判断MOBILE网络是否可用获取当前网络连接的类型信息监听网络获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。<uses-permission android:name="android.pe...

PTA:删除重复字符_Xerxes Lee的博客-程序员秘密

PTA:删除重复字符题目输入格式输出格式解答样例题目本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式输入是一个以回车结束的非空字符串(少于80个字符)。ad2f3adjfeainzzzv输出格式输出去重排序后的结果字符串。23adefijnvz解答样例#define _CRT_SECURE_NO_WARNINGS#inc...

Win32 api使用中调用GetOpenFileName打开文件对话框无响应的解决方法_0x03ff的博客-程序员秘密

好久没有写代码了,偶尔兴起写了一下居然还BUG不断,简直不能忍受。短短的几行代码就调了一下午,最后才发现原来是消息函数的错误。调用打开文件的代码void OpenFileDlg(HWND hDlg, TCHAR *pszPathName){ TCHAR szPathName[MAX_PATH]; // lStructSize // 指定这个结构的大小,以字节为单位。 // Wi

推荐文章

热门文章

相关标签