描述
用戶輸入一個正整數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
