描述
用户输入一个正整数N,计算并输出小于N的最大素数
输入格式
输入一个正整数
输出格式
满足条件的素数
输入输出示例
输入 | 输出 | |
示例 1 | 100 19 |
97 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