驗證哥德**猜想之一:2000 以內的正偶數(大於等於 4)都能夠分解為兩個質數之 和。每個偶數表達成形如:4=2+2 的形式。
ast =
[i for i in
range(4
,2001,2
)]# 把所有大於4的偶數做成列表
bst =
for i in
range(2
,2000):
# 找出2000內所有的素數
k =int(i**
0.5)
flag =
1for j in
range(2
,k+1):
if i % j ==0:
flag =
0break
if flag:
count =
0for i in ast:
# 如果偶數-質數的差在質數的列表裡,則count + 1,並終止當前迴圈計算下乙個偶數
for j in bst:
if(i - j)
in bst:
count+=
1break
iflen
(ast)
== count:
# 如果數目是相等的,則命題正確
print
('命題正確'
)
我誤解題意了,題意是給乙個正偶數 ,找出和是這個數的兩個質數。
import math
defprime
(x):
if x==1:
return
false
n =int(math.sqrt(x)
)for i in
range(2
,n+1):
if x % i ==0:
return
false
return
true
defgc
(n):
k =3while k < n:
t = n - k
if t < k:
break
if prime(k)
and prime(t)
:return k,t
k +=
2
n =int
(input()
)if n >4:
a,b = gc(n)
print
("{}={}+{}"
.format
(n,a,b)
)elif n ==4:
print
("{}={}+{}"
.format(4
,2,2
))
MOOC作業練習6
驗證命題 如果乙個三位整數是 37 的倍數,則這個整數迴圈左移後得到的另兩個 3 位 數也是 37 的倍數。注意驗證命題的結果輸出方式,只要輸出命題為真還是假即可,而 非每乙個三位數都有乙個真假的輸出 先把37的倍數都求出來,再檢查 a i for i in range 100 1000 if i ...
MOOC作業練習10
請完成以下檔案綜合程式設計迷你專案。1 建立乙個檔案blowing in the wind.txt,其內容是 how many roads must a man walk down before they call him a man how many seas must a white dove ...
MOOC作業練習12
一 序列函式 students jack bob rose wolf for i,j in enumerate students 列舉列表 print i,j 0 jack 1 bob 2 rose 3 wolf list reversed students 反轉並生成新列表 wolf rose b...