python基础知识验证哥德巴赫猜想

python基础知识验证哥德巴赫猜想_第1张图片
哥德巴赫猜想:
任何大于2的偶数都能够写成两个质数相加的形式。

验证思路:
编写哥德巴赫分解程序,输入一个数,输出他的两个子质数,如果找不到,返回False。遍历整数,查看是否有False的情况,如果有False的情况,我们认为哥德巴赫猜想不成立,如果没有False,我们认为歌德巴赫猜想是不能证伪的。

第一步:质数的判定:
我们可编写函数通过if语句和for循环来判断一个数是否为质数

def isprime(num):
	i = 2
	while(i<num):
		if num%i==0:
			return False
		i += 1
	return True

第二步:歌德巴赫分解
输入一个数,输出他的两个子质数,如果找不到,返回False。

def goldbachresolve(num):
	for i in range(2,num):
		if isprime(i):
			if isprime(num-i):
				print(num,'=',i,'+',num-i)
				return True
	return False

第三步:枚举法验证猜想
遍历一定范围的整数,查看是否有False的情况,如果有False的情况,我们认为哥德巴赫猜想不成立,如果没有False,我们认为歌德巴赫猜想没有被证伪的,也即证明了在选定的整数范围内是成立的。

i=4
while(goldbachresolve(i) and i<1000):
	i += 2

运行结果:
python基础知识验证哥德巴赫猜想_第2张图片
可以看出,这个while循环在1000以内并没有退出,说明没有False的案例,所以哥德巴赫猜想在1000以内是成立的!

你可能感兴趣的:(#,python习题)