zoukankan      html  css  js  c++  java
  • 计算素数

    题目1:计算0-100的所有的素数。

    素数:素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

    很容易得出下面的代码

    def get_prime(n):
        res = []
        for i in range(2, n):
            for j in range(2, i):
                if i % j == 0:
                    break
            else:
                res.append(i)
        return res
    求素数

    但是经过分析,我们发现完全可以利用已知的信息,如果一个数不是素数,那么它的所有整数倍也肯定不是素数,因此,我们只需要判断,它是否是素数的整数倍就可以了。

    然后经过优化后的代码可以写成:

    def get_prime1(n):
        res = []
        for i in range(2, n):
            for j in res:
                if i % j == 0:
                    break
            else:
                res.append(i)
        return res
    求素数(优化)

     题目2:判断一个数是否为素数

    在一般领域,对正整数n,如果用2到 之间的所有整数去除,均无法整除,则n为质数。

    def is_prime(num):
        import math
        if num == 1:
            return False
        for i in (2, int(math.sqrt(num)) + 1):
            if num % i == 0:
                return False
        return True
    判断素数
  • 相关阅读:
    053532
    053531
    053530
    053529
    053528
    RTSP和RTMP的区别是什么?
    RTSP、RTMP和HTTP协议的区别
    在C#中实现视频播放器
    wpf下基于opencv实现视频播放器
    C#实现视频播放器(Vlc.DotNet)
  • 原文地址:https://www.cnblogs.com/walle-zhao/p/11680269.html
Copyright © 2011-2022 走看看