題目描述】使用者輸入整數n和m(1<n<m<1000),應用篩法求[n,m]範圍內的所有素數。
【練習要求】請給出原始碼程式和執行測試結果,原始碼程式要求新增必要的註釋。
【輸入格式】在一行中輸入整數n和m,資料間以空格為間隔。
【輸出格式】按照一行5個的格式輸出[n,m]範圍內的所有素數,其中每個素數的顯示格式為:佔5位,右對齊。
【輸入樣例】50 100
【輸出樣例】 53 59 61 67 71
73 79 83 89 97
def get_prime_numbers(n, m): prime = [True] * (m + 1) prime[0] = prime[1] = False p = 2 while p * p <= m: if prime[p]: for i in range(p * p, m + 1, p): prime[i] = False p += 1 for i in range(n, m + 1): if prime[i]: print(i) n = int(input("請輸入一個整數 n (>1):")) m = int(input("請輸入一個比 n 大的整數 m (<1000):")) if 1 < n < m < 1000: print(f"在區間 [{n},{m}] 內的素數有:") get_prime_numbers(n, m) else: print("輸入錯誤,請重新輸入符合要求的整數 n 和 m。")