本文将探讨如何使用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循环及判断素数的思路。