Python并行判断多个大整数是否为素数

本文主要用到Python标准库concurrent.futures提供的并发执行功能,类似于进程池的用法,在多核或多CPU平台能够大幅度提高处理速度。

from concurrent.futures import ProcessPoolExecutor

PRIMES = [1099726899285419,112582705942171,

112272535095293, 115280095190773,

115797848077099, 9000099011]

def isPrime(n):

if n%2 == 0:

return False

for i in range(3, int(n**0.5)+1, 2):

if n%i == 0:

return False

return True

def main():

with ProcessPoolExecutor() as executor:

for number, prime in zip(PRIMES, executor.map(isPrime, PRIMES)):

print('%d is prime: %s' % (number, prime))

if __name__ == '__main__':

main()

本文分享自微信公众号 - Python小屋(Python_xiaowu)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

Python爬虫笔记(一):爬虫基本入门

最近在做一个项目,这个项目需要使用网络爬虫从特定网站上爬取数据,于是乎,我打算写一个爬虫系列的文章,与大家分享如何编写一个爬虫。这是这个项目的第一篇文章,这次就...

43060
来自专栏开源优测

Python3选择排序

选择排序 概述 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在...

37960
来自专栏开源优测

Python3冒泡排序

Python3冒泡排序 概述 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他...

38860
来自专栏开源优测

[快学Python3]数据结构与算法-二分查找

概述 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好。 其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁...

33350
来自专栏开源优测

Selenium3源码之common package篇

Selenium3 Python3源码分析系列以短文方式进行分享 阅读源码是掌握Selenium的最好方式 我的公众号:开源优测 Selenium3源码之c...

33360
来自专栏开源优测

Python3插入排序

Python3插入排序 前言 为什么要开始写Python3算法系列呢? 一是很长很长时间没专门练习练习这种基本功 二是想把这个系列以基本代码的方式给写出来,提...

27960
来自专栏开源优测

Python Selenium设计模式-POM

前言 本文就python selenium自动化测试实践中所需要的POM设计模式进行分享,以便大家在实践中对POM的特点、应用场景和核心思想有一定的理解和掌握。...

34740
来自专栏小樱的经验随笔

【Python学习笔记之二】浅谈Python的yield用法

在上篇【Python学习笔记之一】Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Pyt...

34450
来自专栏开源优测

如何用Python调用java程序

如何用Python调用java程序 前言 不会java怎么做Java程序的单元测试呢?我想有一种很好的选择就是Python,充分利用Python的胶水语言的特性...

99650
来自专栏智能计算时代

前20名Python机器学习开源项目

We analyze Top 20 Python Machine learning projects on GitHub and find that sciki...

29540

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励