最大素数
描述
用户输入一个正整数N,计算并输出小于N的最大素数
输入格式
输入一个正整数
输出格式
满足条件的素数
输入输出示例
| 输入 | 输出 |
示例 1 | 100 19 | 17 |
#最开始的错误答案
n = eval(input())
list1 = []
for i in range (2, n):
for j in range(2,int(pow(i,0.5)+1)):
if (i % j == 0):
break;
else: #若不能整除
list1.append(i)
print(list1[-1])
测试后发现判断素数这块错了,于是我重新思考。
#更正后的答案
n = eval(input())
list1 = []
for i in range (2, n):
for j in range(2,int(pow(i,0.5)+1)):
if (i % j == 0):
break;
else: #不能整除应该是遍历每一个i时,遍历完所有j才能添加到list1中
list1.append(i) #list1末尾追加元素
print(list1[-1]) #输出最大的素数,也就是n范围内list1末尾的素数
#参考答案
n = int(input())
for i in range(n,1,-1): #倒着找素数,找到的第一个素数就是最大素数
for j in range(2,i):
if i % j == 0:
break
else:
print(i)
break