美文网首页Python全栈工程师
9.1-质数多种解法及效率

9.1-质数多种解法及效率

作者: BeautifulSoulpy | 来源:发表于2019-08-14 20:29 被阅读1次

素数问题

求100以内的素数(25个)
1.一个数能被从2开始到自己的平方根的正整数整除,就是合数;
2.一个合数一定可以分解成几个素数的乘积,也就是说,一个数如果被一个素数
整除就是合数;
3.质数定理:大于3的素数只有6N-1和6N+1 两种形式;

#素数问题

import math
n=100
for x in range(2,n):
    for i in range(2,math.ceil(math.sqrt(x))):
        if x%i == 0:
            break
    else:
        print(x)

方法2 去掉math函数部分;
#储存质数合数一定可以分解为几个质数的乘积;
n=100
lst=[2]
for i in range(3,n,2):    #
    for j in lst:  # (3,i**0.5+1,2)=lst
        if i%j==0:
            break
    else:
        print(i)  #找到了一个质数;
        lst.append(i)

#质数解法2:
n = 100
count = 1
primenubers=[]

for x in range(3,n,2):
    for i in range(3,int(x**0.5)+1,2):
        if x % i == 0:
            break
    else:
        count += 1
print(count)

方法3——改进方案;
n=100
lst=[2]
for i in range(3,n,2):    #
    flag=False
    for j in lst:  # (3,i**0.5+1,2)=lst
        if j>i**0.5:
            flag=True
            break
        if i%j==0:
            flag=False
            break  #合数
    if flag:
        print(i)  #找到了一个质数;
        lst.append(i)

几种优化策略

相关文章

  • 9.1-质数多种解法及效率

    素数问题 求100以内的素数(25个)1.一个数能被从2开始到自己的平方根的正整数整除,就是合数;2.一个合数一定...

  • 51、质数和杨辉三角多种解法

    真正想要的东西,不只是踮踮脚尖那么简单,所有的收获,一定要全力以赴,奋不顾身! 现在的怕和愁,都是能力小和经历少;...

  • 最长无重复子串

    此题有多种解法,但是每种解法的效率不尽相同。看到题目首先想到的是:取出字符串的所有子串,滤掉有重复子字符的子串,取...

  • Java实现输出100000以内的质(素)数及算法结构优化

    输出100000以内的所有质数 质数:也叫素数,只能被1和他本身整除的自然数 最小的质数:2 方法一:效率很低 输...

  • 2018-11-26 计数质数

    题目: 计数质数 解法: 申请一个大小为n的boolean 数组, 默认初始化为false. 然后从2开始遍历, ...

  • 筛选法求质数

    前情提要 求质数最简单的方法是暴力破解: 但这样做的效率会很低。有没有办法提高效率呢? 筛选法的核心就一句话:质数...

  • 计算质数的多种优化算法

    这是一个程序员的自我修养,一个学术者的自我探索,一个大神的养成之道。 什么是质数? 质数,又称素数,有无限个。质数...

  • 2019高考数学压轴题训练及多种解法集合

    摘要:高考数学压轴题,体现鲜明的创新导向,创新试题的呈现方式和设问方式,让学生从不同角度认识问题,鼓励学生主动思考...

  • 递归及解法

    解递归式的三种方法 代数法 1.猜答案2.呈现表达式3.数学归纳法求解 例子如下:T(n) = 4T(n / 2)...

  • 多种解法,有意义吗?

    一般情况下,一件事情都会有多种解法。在数学中是如此;工作中也是这样;赚钱也是这样。 在数学中,总会碰到一题多解的情...

网友评论

    本文标题:9.1-质数多种解法及效率

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