本文目錄一覽:
python求1~100之間的所有素數之和
解題思路:需要實現兩個函數,一個是判斷數字是否是素數;一個是求和函數。
實現函數,判斷是否是素數,is_prime,具體代碼如下:
def is_prime(num):
“””
判斷是否是素數.
:param num:
:return:
“””
result = True
# 質數大於 1
if num 1:
# 查看因子
for i in range(2, num):
if (num % i) == 0:
result = False
break
else:
result = True
# 如果輸入的數字小於或等於 1,不是質數
else:
result = False
return result
實現函數,計算數字start到end之間的所有素數之和,sum,具體代碼如下:
def sum(start, end):
“””
求閉區間[start, end]之間的素數之和.
:param start:
:param end:
:return: “””
result = 0;
for i in range(start, end + 1):
if is_prime(i):
print(i)
result = result + i
return result
在main函數中調用求和,代碼如下:
if __name__ == ‘__main__’:
num = 8
print(is_prime(num))
num = 5
print(is_prime(num))
print(sum(1, 5))
完整 代碼如下:
python如何算質數和
你好的!
import math
def is_prime(n): # 簡化問題,先利用函數判斷是否為質數
if n == 1: # =是賦值,==才是判斷,切記切記
return False
for i in range(2, int(math.sqrt(n))+1): # 質數判斷條件,注意+1
if n % i == 0:
return False
return True
primes = []
name = int(input())
for i in range(1, name): # 注意這個逗號,很容易寫錯!
if is_prime(i) is True: # bool值用is判斷
primes.append(i)
print(‘100以內的素數:{}\n100以內素數和:{}’.format(primes, sum(primes)))
歡迎追加懸賞並採納!
python求100到1000之間所有素數的和
#75067
L=[]
for x in range(100,1000):
if x2:
continue
for i in range(2,x):
if x%i==0:
break
else: #走到此處,x一定是素數
L.append(x)
#print(“100-1000以內的全部素數有:”,L)
print(‘和為:’,sum(L))
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186432.html