优化之前回顾:
for i in range(8,1000,2):
#找出小于每次循环的那些质数,并把它们放到一个列表a中
a = []
for j in range(3,i,2):
jishu=0
for k in range(1,j//2):
if not j%k:
jishu += 1
if jishu >2:
continue
if jishu < 2:
a.append(j)
#让列表里的数循环相加
b=int(len(a))
for l in range(b):
fir = a[l]
for m in range(b):
nex = a[m]
if fir+nex == i:
print(i,'is','ok','-->',end='')
print(fir,'+',nex,'=',i,sep='')
break
————————————————
优化之后:
for i in range(8,100,2):
#找出小于每次循环的那些质数,并把它们放到一个列表a中
a = []
for j in range(3,i,2):
jishu=0
for k in range(1,j//2):
if not j%k:
jishu += 1
if jishu >2:
continue
if jishu < 2:
a.append(j)
#让列表里的数循环相加
b=int(len(a))
count = 0
for l in range(b):
fir = a[l]
for m in range(b):
nex = a[m]
if fir+nex == i:
count += 1
print(i,'is','ok','-->',end='')
print(fir,'+',nex,'=',i,sep='')
if count == 0:
continue
else:
break
其实就是后续加了一个验证,逻辑及其简单,上次脑子卡住了,硬是没想出来
执行结果: