題目
質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數,如:2、3、5、7、11、13、17、19。
請按照從小到大的順序輸出 100 以內的質數,質數之間以一個逗號區分(注意,最后一個數字之后不能有逗號)
實現思路
- 用第一層 for循環 控制100以內(除1外)的數,標記 i,並通過一個變量 flag 來判斷是否為質數,默認為 True
- 用第二層 for循環 控制 i 以內(除1外)的數,標記 j
- 如果 i 能 整除 j ,那么就表示 i 不是質數,則將 flag 置為False
- 先把 i 轉為字符串類型,再添加到列表中
- 對結果進行處理,通過
join()
方法用 "," 拼接
注意:使用 join()
拼接列表時,列表中的元素不能是 int
類型。
代碼實現
def get_prime(n):
res = []
for i in range(2, n + 1):
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
res.append(str(i))
return ", ".join(res)
res = get_prime(100)
print("100以內的質數有:{}".format(res))