python脚本11_求10万以内所有素数

#求10万以内所有素数

num = int(input(">>>"))
strs = ‘‘

for i in range(2,num):
    for c in range(2,int(i**0.5)+1):
        if i%c == 0:
            break
    else:
        strs += str(i)+‘ ‘
print(strs)

方法2:

print(2)

for i in range(3,100001,2):
    if i>10 and i%10 == 5:
        continue
    else:
        for j in range(2,int(i**0.5+1)):
            if i%j == 0:
                break
        else:
            print(i)

方法3:

#求10万以内所有素数
#此题的目的是为了让大家注意效率问题
#思考:为什么到一个数的一半就可以了

for a in range(2,100000):
    for b in range(2,int(a**0.5)+1):
        if a%b == 0:
            break
    else:
        print(a)

方法4:

#求10万以内所有素数
#此题的目的是为了让大家注意效率问题

for a in range(3,100000,2):
    for b in range(3,int(a**0.5)+1,2):
        if a%b == 0:
            break
    else:
        print(a)

比较两种算法的效率:

#两种算法的对比的完整代码 

import datetime

upper_limit = 100000
delta = [0,0]
counts = [0,0]

start = datetime.datetime.now()
for _ in range(10):
    count[0] = 0
    for x in range(2,upper_limit):
        for i in range(2,int(x**0.5)+1):
            if x % i == 0:
                break
        else:
            #print(x)
            counts[0] += 1
delta[0] = (datetime.datetime.now() - start).total_seconds()

start = datetime.datetime.now()
for _ in range(10):
    counts[1] = 1
    #print(2)
    for x in range(3,upper_limit,2):
        for i in range(3,int(x**0.5)+1,2):
            if x % i == 0:
                break
        else:
            #print(x)
            counts[1] += 1
delta[1] = (datetime.datetime.now() - start).total_seconds()

print(delta, sep="\t")
print(conuts, sep="\t")

原文地址:https://www.cnblogs.com/KunGe-13/p/10204991.html

时间: 2024-12-16 09:24:24

python脚本11_求10万以内所有素数的相关文章

python 求10亿以内和987654互质正整数的和

加群看见的 但是计算好慢,谁有更优的算法,麻烦说一下. ? 1 2 3 4 5 6 7 8 9 10 factor=[] for x in xrange(1, 987654//2+1):     if 987654%x==0:         factor.append(x) sum=0 for y in xrange(1, 1000000000):     for z in factor:         if y%z == 0:             sum+=y print sum 51

在10万以内判断,一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数,求该数

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果. 程序源代码: #include<stdio.h> #include<math.h> int main() { long int i, x, y; for (i = 1; i<100000; i++) { x = sqrt(i + 100); y = sq

使用python求10万内的所有素数的个数

#求10万内的所有素数(9592) print(2) count = 1 for i in range(3,100000): for j in range(2,i): if i%j ==0: break if j==i-1: print(i) 优化: count = 1 for i in range(3,100000,2):#跳过所有偶数 for j in range(2,i): if i%j ==0: break if j==i-1: count +=1 print(count) 再优化: c

100万以内的素数

设计算法如下: (1)用2,3,5,7逐个试除N的方法求出100以内的所有素数. (2)用100以内的所有素数逐个试除的方法求出10000以内的素数. 首先,将2,3,5,7分别存放在a[1].a[2].a[3].a[4]中,以后每求出一个素数,只要不大于100,就依次存放在A数组中的一个单元中.当我们求100-10000之间的素数时,可依次用a[1]-a[2]的素数去试除N,这个范围内的素数可以不保存,直接打印. import java.util.*; class Main{ public s

python脚本4_求1到5阶乘之和

#求1到5阶乘之和 # a = 1 sum = 0 for i in range(1,6): a = i*a sum = sum+a print(sum) 原文地址:https://www.cnblogs.com/KunGe-13/p/10203120.html

求出10000以内所有的完全数-python

题目: 如何用python去求出下一个(大于28的)完全数? (求出10000以内所有的完全数) 分析: 如果一个数恰好等于它的因子之和,则称该数为"完全数".各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数,又称完美书或完备数. 1.第一个完全数是6,它有约数1,2,3,6,除去它本身6外,其余3个数相加为:1+2+3=6 2.第二个完全数是28,它有约数1,2,4,7,14,28,除去它本身28外,其余5个数相加为:1+

《一出好戏》讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何?

黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演阵容强大,相信许多观众也都是冲着明星们去的.目前<一出好戏>在猫眼上已经获得近60万个评价,评分为8.2分,票房已破10亿. 作者本人(汤小洋 )今天也走进了电影院,对这部电影做了亲身的观看,看完后的感觉是有些许失落的,本以为是喜剧片,结果发现笑点一般,从搞笑的角度来看,不如<西虹市首富>,影片更多的是反映人类本性的一部电影,不应当做喜剧片来看,影片中展现的人与人之间的关系倒是值得我们去深思.

windows 10 如何设定计划任务自动执行 python 脚本?

我用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能自动定时执行.那么,windows 10 操作系统如何定时自动执行 python 脚本? 我的设备是 windows 10操作系统,自带的"计划任务"可以满足我的需求,具体操作步骤,整理如下. 步骤1:打开 "计算机管理" 界面 点击电脑左下角的windows图标,或者键盘的wind

Python脚本远程批量执行命令

摘要 本文主要写用python脚本远程连接多台服务器,然后批量执行命令,最终返回命令执行结果. 这个可以说是Ansible,Puppet等工具的最简单的雏形. 做运维的同学应该都知道的. 正文 multi_task.py #_*_coding:utf-8_*_ import  multiprocessing import paramiko import getpass import ConfigParser class MultiTask(object):     '''handles all