哥德巴赫猜想 goldbach

任何大于2的偶数都可以写成两个素数之和,任何大于7的奇数都可以写成3个奇素数之和。

即:

任何大于2的偶数=素数+素数

任何大于7的奇数=奇素数+奇素数+奇素数

ps:素数=质数=在正整数范围内,只能被1和自身整除的数。

def is_prime(x):				#检测一个数是否是素数
	for i in range(2,x):
		if x%i==0:
			return False
	return True

def goldbach(x):
	if x%2==0 and x>2:			#任何大于2的偶数=素数+素数
		for i in range(2,x):
			if is_prime(i) and is_prime(x-i):
				return(f'{x}={i}+{x-i}')
	elif x%2==1 and x>7:		#任何大于7的奇数=奇素数+奇素数+奇素数
		for i in range(3,x,2):
			for j in range(3,x-i,2):
				if is_prime(i) and is_prime(j) and is_prime(x-i-j):
					return(f'{x}={i}+{j}+{x-i-j}')
	else:
		return('输入错误,请输入大于2的偶数,或者大于7 的奇数')

print(goldbach(36))
print(goldbach(4))
print(goldbach(361))
print(goldbach(9))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值