python偶数分解_任意一个大于2的偶数,都可以分解为两个质数之和。编写一个程序...

不知道所需验证的“任意”偶数范围,所以这里为了通用采用概率方式做prime验证(基本可认为可任意大): def primality(n):

if n <= 102:

for a in range(2, n):

if pow(a, n - 1, n) != 1:

return False

else:

import random

for i in range(100):

a = random.randint(2, n - 1)

if pow(a, n - 1, n) != 1:

return False

return True

while True:

try:

A = int(input('Please input an even number:').strip())

if A=='':

break

elif A%2!=0:

print('Not even, please retry!')

continue

if A==4:

print('4 = 2 + 2')

continue

halfA,flag = int(A/2),False

# just need to check odd numbers, >=3

for S in range(3,halfA+1,2):

B = A - S

if primality(S) and primality(B):

flag = True

print('%d = %d + %d' %(A,S,B))

if not flag:

print('%d cannot be divided!' %A)

except:

break 会逐行打印出所有可能的结果(若仅统计数目,可自行参考修改)        ——python 3.5

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值