python实现哥德巴赫猜想(任何大于或者等于6的整数都可以写成2个素数之和)

1、要求
1.1 从键盘上输入整数你n(n>=6)。检验6-n之间的所有偶数
2.2 若检验成功则输出6=3+3,即一个偶数写成2个素数之和的形式(注意:只输出一种满足要求的情况即可,切前一个数小于或者等于后一个数)

2、例:
输入6:输出 6=3+3
输入10:
6=3+3
8=3+5
10=3+7

3、具体实现:

oushu = [] #保存偶数
sushu = [] #保存素数
num = int(input("数字:"))
#用于求偶数
def nums():
global oushu,num
if num>=6:
for i in range(6, num+1):
if i%2==0:
oushu.append(i)
else:
print("必须是一个大于等于6的数")
#用于求素数
def qsushu():
for i in range(2,num+1):
for j in range(2,i):
if i%j==0:
break
else:
sushu.append(i)
#用于计算素数相加是否等于偶数
def main():
for sun in oushu:
a = 0
for i in sushu:
for j in sushu:
if sun == i+j:
a = int(i)
print("答案如下:%d=%d+%d"%(sun,i,j))
if a != 0:
break
nums()
qsushu()
main()
4、图片展示

原文地址:https://blog.51cto.com/12020040/2378498

时间: 2024-11-07 19:14:43

python实现哥德巴赫猜想(任何大于或者等于6的整数都可以写成2个素数之和)的相关文章

验证哥德巴赫猜想,每个大于等于4的偶数都可以表示成2个素数之和

验证哥德巴赫猜想,每个大于等于4的偶数都可以表示成2个素数之和. 1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include<stdio.h> 4 #include<stdlib.h> 5 6 int isou(int num)//1代表偶数,0代表奇数 7 { 8 if (num % 2 == 0) 9 { 10 return 1; 11 } 12 else 13 { 14 return 0; 15 } 16 } 17 18 int sushu(

Python验证哥德巴赫猜想

今天看到百度知道有人问如何验证1000以内的数符合哥德巴赫猜想,就写了一个 感觉超过10000时有点慢啊,和java比起来效率差了点,希望高手能给优化下 #!/usr/bin/env python __author__ = '淮南霏霏' """ 脚本编写环境python 3.4.2 哥德巴赫猜想 简单验证 """ import math class Goldbach: """ 哥德巴赫猜想:任一大于2的偶数都可写成两

用C语言来验证哥德巴赫猜想(定义的是int型)

哥德巴赫猜想: 如果任意一个大于6的偶数都可以写成两个素数之和.就将其称为符合哥德巴赫猜想. #include<stdio.h> #include<math.h> /// <summary> /// 判断一个数是否是素数 /// </summary> /// <param name="intNum">要判断的数</param> /// <returns>如果是,返回true,否则,返回false<

整数的故事(3)——最小公倍数与哥德巴赫猜想

最小公倍数 就像硬币的正反两面,最大公约数往往是和最小公倍数成对出现的.对于两个不等于零的整数a和b,如果a|k且b|k,那么k就是a和b的公倍数:在所有的k中,大于0的最小者就是a和b的最小公倍数(least common multiple),记作c = LCM(a,b),根据惯例,a≥b. 寻找最小公倍数 寻找两个数的最小公倍数远比寻找它们的最大公约数简单: 1 # 求a,b的最小公倍数 2 def lcm(a, b): 3 m, n = abs(a), abs(b) 4 if m < n:

循环-04. 验证“哥德巴赫猜想”

循环-04. 验证“哥德巴赫猜想”(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 徐镜春(浙江大学) 数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19,其中5和19都是素数.本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和. 输入格式: 输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N. 输出格式: 在一行中按照格式

URAL 1356. Something Easier(哥德巴赫猜想)

题目链接 题意 : 给你一个数n,让你找出几个素数,使其相加为n,输出这些素数. 思路 : 哥德巴赫猜想 : 任何一个大于 6的偶数都可以表示成两个素数之和. 任何一个大于9的奇数都可以表示成三个素数之和. 而在该题中,偶数中2本身就是个素数,奇数中小于9的都是素数,所以只要写一个判断素数的函数即可,这样不在范围内的数就可以直接判断输出了. 任何一个整数N(N>=2)最多由三个素数相加构成.要分情况考虑: 1. 如果N为偶数,1)如果N==2,直接输出: 2)如果N>2,那么N一定可以写成两个

哥德巴赫猜想(升级版)

题目背景 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3.需要特别说明的是1不是质数. 这就是哥德巴赫猜想.欧拉在回信中说,他相信这个猜想是正确的,但他不能证明. 从此,这道数学难题引起了几乎所有数学家的注意.哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的"明珠". 题目描述 现在请你编一个程序验证哥

洛谷-哥德巴赫猜想(升级版)-BOSS战-入门综合练习1

题目背景 Background 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3.需要特别说明的是1不是质数. 这就是哥德巴赫猜想.欧拉在回信中说,他相信这个猜想是正确的,但他不能证明. 从此,这道数学难题引起了几乎所有数学家的注意.哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的“明珠”. 题目描述 Descri

洛谷 P1579 哥德巴赫猜想(升级版)

题目背景 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3.需要特别说明的是1不是质数. 这就是哥德巴赫猜想.欧拉在回信中说,他相信这个猜想是正确的,但他不能证明. 从此,这道数学难题引起了几乎所有数学家的注意.哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的“明珠”. 题目描述 现在请你编一个程序验证哥德巴赫猜想