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