python求素数:
def is_prime(m):
"""判断m是否素数"""
for i in range(2,int(m**(1/2))+1):
if m % i == 0:
return False
else:
return True
注意事项
定义一个函数并使用input进行范围的输入,同时将将求得的素数保存在num数组中去,便于求得在该范围内素数的总数以及对应的具体值,同时,在本程序中并没有对非法输入的值进行过多的判断,而主要就是为了实现功能。
注意在该函数当中,else是与内循环中的for搭配使用的,如果内循环是由break而终止的,那么else语句是不会被执行的。
PYTHON代码,以下代码为chatgpt生成:
def isPrime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
count = 0
for i in range(2, 1000):
if isPrime(i):
print(i, end=" ")
count += 1
if count % 10 == 0:
print()
print("\n共计%d个素数。" % count)
程序中首先定义了一个名为isPrime的函数,用于判断一个数是否为素数。当n小于等于1时,直接返回False;当n大于1时,对于从2到n的平方根的所有数进行判断,如果n能够被这些数整除,则n不是素数;如果不存在这样的数,则n是素数。
接下来,程序使用循环从2到999之间的数,对于每个数,调用isPrime函数进行判断。如果是素数,就打印出来,并且计数器加1。每输出10个素数,就换行。
最后,程序输出共计多少个素数。
使用方法如下:
首先找到:
接着提出问题:
搞定~~
...
就是这些啦,整理不易,看完记得点个赞再走呀~
可以使用Python的for循环和if判断语句来实现:for i in range(2,101):
flag = True
for j in range(2,i):
if i % j == 0:
flag = False
break
if flag:
print(i)
拓展:除了使用for循环和if判断语句,还可以使用Python的itertools模块中的compress函数来获取100以内的素数:
import itertools
from itertools import compress
primes = [i for i in range(2, 101) if not 0 in map(lambda x: i % x, range(2, i))]
list(compress(range(2, 101), primes))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)