赞
踩
给定 n 个(n<1000)小于 10000 的正整数,把其中的质数按升序输出。
两行,第一行包含一个小于 1000 的正整数 n,第二行 n 个由空格隔开的正整数。
若干个素数,从小到大排列,每两个素数间有一个空格
11
42 13 34 98 798 69 23 177 687 199 13
13 23 199
Python 代码:
测试环境:Win10(64位)Python 3.8.5
import math # 为了使用下面的平方根函数sqrt
prime_list=[]
new_prime_list=[]
n=int(input("你想判定几个整数:"))
num_list=list(map(int, input("请输入要判定的整数(用空格或Tab隔开): ").split()))
# 判断素数代码
for i in range(n): # 等价于range(0,n) # i=0,1,2...n-1
flag=1
# 下面使用sqrt,缩小范围,减少运行时间。如不+1,9会被判定为素数
for j in range(2, int(math.sqrt(num_list[i]))+1):
# for j in range(2, num_list[i]):
if num_list[i]%j==0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。