python找質數對

2021-08-07 14:24:08 字數 760 閱讀 8570

編寫python指令碼,輸入乙個正整數,輸出有幾對質數的和等於這個正整數。

例如輸入乙個正整數10,可以找出有「3+7=10」、「5+5=10」兩個質數對的和為10。

要實現這個功能的python指令碼如下所示:

def

isprime

(num):

for i in range(2, num):

if num % i == 0:

return

false

return

true

number = input("please input a number : ")

prime = [i for i in range(1, number) if isprime(i)]

list = [(i, number - i) for i in prime if isprime(number - i) and i <= number-i]

print list

print len(list)

該指令碼執行後的效果圖如下圖所示:

由效果圖可以看出,輸入10後,輸出質數對(3,7)和(5,5),並輸出有兩個質數對。輸入7和12後均有相應的效果。

找質數 列舉

一天蒜頭君猜想,是不是所有的偶數 除了 2 都可以用兩個質數相加得到呢?於是聰明的蒜頭君就找你來驗證了。輸入格式 第一行輸入乙個整數 t 表示測試組數。接下來 t 行,每行乙個整數 n。輸入格式 348 20輸出格式 輸出兩個整數,因為答案可能有多個,所有要求輸出的這兩個整數是所有答 案中字典序最小...

程式設計 找質數

一天蒜頭君猜想,是不是所有的偶數 除了 22 都可以用兩個質數相加得到呢?於是聰明的蒜頭君就找你來驗證了。輸入格式 第一行輸入乙個整數 tt 表示測試組數。接下來 tt 行,每行乙個整數 nn。輸出格式 輸出兩個整數,因為答案可能有多個,所有要求輸出的這兩個整數是所有答案中字典序最小的。資料範圍 對...

程式設計 找質數

一天蒜頭君猜想,是不是所有的偶數 除了 22 都可以用兩個質數相加得到呢?於是聰明的蒜頭君就找你來驗證了。第一行輸入乙個整數 tt 表示測試組數。接下來 tt 行,每行乙個整數 nn。輸出兩個整數,因為答案可能有多個,所有要求輸出的這兩個整數是所有答案中字典序最小的。對於 30 30 的資料 1 l...