首页 > 编程知识 正文

使用while循环求最小的100个素数

时间:2023-11-21 13:59:38 阅读:291048 作者:FART

本文将探讨如何使用while循环来求解最小的100个素数。

一、素数的定义

素数又称质数,是指除了1和本身以外没有其他因子的自然数。例如:2、3、5、7、11、13、17、19、23等均为素数。

二、while循环求解素数

在Python中,使用while循环判断一个数是否为素数,可以用以下代码:

def is_prime(num):
    """
    判断一个数是否为素数
    """
    if num < 2:
        return False
    i = 2
    while i*i <= num:
        if num % i == 0:
            return False
        i += 1
    return True

在这个函数中,我们首先判断传入的数是否小于2,如果小于2,则不是素数;如果大于等于2,则从2开始循环判断该数是否为素数,循环条件为i*i<=num,这是由于一个数的因子一定是小于或者等于该数平方根的数,所以只需要判断小于或等于其平方根的数即可。如果该数有因子,则不是素数,返回False,否则循环继续,最后返回True。

三、求解最小的100个素数

有了判断一个数是否是素数的函数,我们就可以使用while循环来求解最小的100个素数了:

def get_prime():
    """
    求解最小的100个素数
    """
    primes = []
    num = 2
    while len(primes) < 100:
        if is_prime(num):
            primes.append(num)
        num += 1
    return primes

在这个函数中,我们首先定义一个空列表primes,用于存储素数。然后从数值2开始循环,判断该数是否为素数,如果是素数,则将其加入到primes列表中;如果不是素数,则继续循环。当primes列表长度达到100以后,循环结束,返回primes列表即可。

四、完整代码示例

下面是完整的代码示例:

def is_prime(num):
    """
    判断一个数是否为素数
    """
    if num < 2:
        return False
    i = 2
    while i*i <= num:
        if num % i == 0:
            return False
        i += 1
    return True

def get_prime():
    """
    求解最小的100个素数
    """
    primes = []
    num = 2
    while len(primes) < 100:
        if is_prime(num):
            primes.append(num)
        num += 1
    return primes

if __name__ == '__main__':
    primes = get_prime()
    print(primes)

五、总结

本文介绍了如何使用while循环来判断素数,并且使用while循环求解最小的100个素数。读者可以结合代码,加深对Python的while循环及判断素数的思路。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。