用python验证猜想之类的例子_python练手好例子:验证哥德巴赫猜想

哥德巴赫猜想是一个谜,但十分适合用来作为编程练习

涉及的几个问题:

1、如何验证一个数是素数 def prime(n)

一个整数n不能被2 到 n \sqrt{n}n​整除,则为素数

2、产生N以内的素数列表

本文中N取100,可以取更大

3、对于大于6的偶数,从素数表中取得素数和的计算

import math

def prime(n):

retBool = True

# print("n=",n,int(math.sqrt(n)))

for num in range(2, int(math.sqrt(n))+1):

# print("\nnum=",n,num,n%num)

if n % num == 0:

retBool = False

break

else:

retBool = True

return retBool

if __name__ == '__main__':

su = []

for i in range(3, 100): # 100可改成100000或更大,自然需要时间更长

if i % 2 != 0 or i==2:

if prime(i):

su.append(i)

# print(su)

num = len(su)

p = 6

# with open("test.txt","w") as f:

f = open("test.txt","w")

f.write(str(p)+"=")

while(p

for k in range(1,num):

if p

break

else:

p1=su[k-1]

p2=p-p1

if(p2 in su):

print("p=",p,p1,p2)

f.write(str(p1)+"+"+str(p2)+"; ")

p=p+2

f.write("\n"+str(p)+"=")

f.close()

计算结果如下:

6=3+3;

8=3+5;

10=3+7; 5+5;

12=5+7;

14=3+11; 7+7;

16=3+13; 5+11;

18=5+13; 7+11;

20=3+17; 7+13;

22=3+19; 5+17; 11+11;

24=5+19; 7+17; 11+13;

26=3+23; 7+19; 13+13;

28=5+23; 11+17;

30=7+23; 11+19; 13+17;

32=3+29; 13+19;

34=3+31; 5+29; 11+23; 17+17;

36=5+31; 7+29; 13+23; 17+19;

38=7+31; 19+19;

40=3+37; 11+29; 17+23;

42=5+37; 11+31; 13+29; 19+23;

44=3+41; 7+37; 13+31;

46=3+43; 5+41; 17+29; 23+23;

48=5+43; 7+41; 11+37; 17+31; 19+29;

50=3+47; 7+43; 13+37; 19+31;

52=5+47; 11+41; 23+29;

54=7+47; 11+43; 13+41; 17+37; 23+31;

56=3+53; 13+43; 19+37;

58=5+53; 11+47; 17+41; 29+29;

60=7+53; 13+47; 17+43; 19+41; 23+37; 29+31;

62=3+59; 19+43; 31+31;

64=3+61; 5+59; 11+53; 17+47; 23+41;

66=5+61; 7+59; 13+53; 19+47; 23+43; 29+37;

68=7+61; 31+37;

70=3+67; 11+59; 17+53; 23+47; 29+41;

72=5+67; 11+61; 13+59; 19+53; 29+43; 31+41;

74=3+71; 7+67; 13+61; 31+43; 37+37;

76=3+73; 5+71; 17+59; 23+53; 29+47;

78=5+73; 7+71; 11+67; 17+61; 19+59; 31+47; 37+41;

80=7+73; 13+67; 19+61; 37+43;

82=3+79; 11+71; 23+59; 29+53; 41+41;

84=5+79; 11+73; 13+71; 17+67; 23+61; 31+53; 37+47; 41+43;

86=3+83; 7+79; 13+73; 19+67; 43+43;

88=5+83; 17+71; 29+59; 41+47;

90=7+83; 11+79; 17+73; 19+71; 23+67; 29+61; 31+59; 37+53; 43+47;

92=3+89; 13+79; 19+73; 31+61;

94=5+89; 11+83; 23+71; 41+53; 47+47;

96=7+89; 13+83; 17+79; 23+73; 29+67; 37+59; 43+53;

98=19+79; 31+67; 37+61;

100=3+97; 11+89; 17+83; 29+71; 41+59; 47+53;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle安装及卸载总结

>>>>> oracle安装(卸载)教程(来自网络):链接: http://pan.baidu.com/s/1eSzSwZC 密码: g3qn oracle_win_64安装包(官网下的):链接: http://pan.baidu.com/s/1nvBPzkt…

mysql全表重命名备份_MySQL数据库重命名的快速且安全方法(3种)

MySQL数据库重命名的方法Innodb引擎的表如何改数据库名,MyISAM引擎又该如何操作。如果表是MyISAM引擎可以直接去到数据库目录mv重命名文件夹就可以。 Innodb完全不行,会提示相关表不存在。第一种方法:rename database 弃用了RENAME database …

mysql 中 and和or 一起使用和之间的优先级

SELECT address,job_title,education,SUM(recruiting) FROM commerce_jobs WHERE education 大专 and ( job_title LIKE %主管% OR job_title LIKE %组长% OR job_title LIKE %主任% OR job_title LIKE %项目经理% ) 标红部分的() 括号。and 比 or具有更高的优先级&#xff0c…

threadlocal_了解ThreadLocal背后的概念

threadlocal介绍 我知道本地线程,但直到最近才真正使用过它。 因此,我开始深入研究该主题,因为我需要一种传播某些用户信息的简便方法 通过Web应用程序的不同层,而无需更改每个调用方法的签名。 小前提信息 线程是具有自己的调…

mysql有nvarchar类型_mysql如何处理varchar与nvarchar类型中的特殊字符

如果你每次建数据表的时候固执的使用varchar,那么你可能会遇到以下的问题: 现在saleUserName的字段类型为varchar(50) update TableNameset saleUserName小覃祝你快乐 where ID87 select * from TableName where ID87 whySaleUserName字段里的文字怎么如…

linux 文件的压缩和打包

在我们的生活中,经常会和朋友、同事、客户发一些文件。为了能够更加快速、高效的将文件传递出去,经常会用到压缩工具。压缩工具通过一定的算法,把数据给尽可能的缩小。这样不仅方便传递、而且可以节省空间。有时候我们需要把一些零散的文件集…

python 爬取svg数据_抓取SVG图表

我试图从以下链接中获取以下svg:我要刮的部分如下:我不需要图表中的文字(只需要图表本身)。但是,我以前从来没有抓取过svg图像,我不确定这是否可能。我环顾四周,但找不到任何有用的python包来直接执行此操作。在我知道…

protected default

protected:主要作用 保护子类 子类可以继承和使用它的成员 其他不行 default:针对本包 类内部本包子类外部包publicOKOKOKOKprotectedOKOKOK defaultOKOK private OK 转载于:https://www.cnblogs.com/love-yangerlei/p/7352337.html

Java 8:再见手册SQL,您好!

大多数用Java编写的应用程序都需要某种形式的数据存储。 在小型应用程序中,这通常是通过使用普通SQL查询的原始JDBC连接来实现的。 另一方面,较大的系统通常使用对象关系映射(ORM)框架来处理数据库通信。 这两种方法都有优点和缺点…

java 鼠标拖动矩形_java – 用鼠标拖动创建矩形,而不是绘制

nb-首先要注意的是,这是使用Java 7完成的,在Java 6中创建透明窗口的方式不同,在更新10之下是不可能的(我相信)基本上,这会创建一个透明窗口,其大小和位置可以覆盖整个虚拟屏幕(也就是说,如果您有多个屏幕,它将覆盖所有虚拟屏幕).然后我使用JPanel作为主要容器来捕获鼠标事件并执…

java实现123n_java三线程交替打印123……n

使用多线程交替打印1--n,a进程打印1,4,7,……(3n1),b进程打印2,7,10,……(3n2),c进程打印3,6,9,……(3n)涉及到多线程的同步,阻塞,wait,notify代码如下Num.javapublic class Num {private int num 0;public Num(int num) {this.num num;}pu…

8月12

MTBF两次故障的时间,时间越长越好。 MTTR两次系统恢复的时间,越短越好 修改完参数后若出现报205的错误,检查路径 控制文件 SQL> show parameter control_files SQL> select * from v$controlfile; 修改路径: $ cd $ORACLE_H…

spring roo_使用Spring Roo进行快速云开发–第2部分:VMware Cloud Foundry

spring rooSpring Roo是在Java平台上提供快速应用程序开发的工具。 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo 。 Spring Roo目前支持两种针对云计算的解决方案:Google App Engine(GAE&a…

this指针 java_彻底理解Java中this指针

每次看到Java中的this指针,总摸不着头绪。在网上看了很多人的讲解,还是不知道this指针到底是什么东西,今天的的这篇日志可以让你看清this到底是谁。(内容摘自:http://www.mathcs.emory.edu/~cheung/Courses/170.2010/Syllabus/03/…

python中的浅拷贝和深拷贝

本篇介绍下python中的深拷贝和浅拷贝,主要从基本类型、类、不可变类型等方面进行介绍。 1.介绍拷贝之前首先应该明白is和的区别,即is表示同一个对象,比较的是值 >>> a 1000 >>> b 1000 >>> a b True >>&…

Spring开发人员知道的一件事

在最近关于(核心)Spring Framework的培训课程中,有人问我:“(Java)Spring开发人员是否应该知道一件事,那应该是什么?” 这个问题使我措手不及。 是的,(核心&a…

mysql匿名事务gtid_MySQL GTID (二)

MySQL GTID 系列之二三.在线将GTID转化为传统模式环境见上篇系列文章关闭GTID,不用停止服务,不影响线上业务3.1 关闭GTID复制,调整为传统复制#SLVAE实例上停止复制STOP SLAVE#SLVAE实例上查看复制的位置SHOW SLAVE STATUS \G# 查看 Master_Log_File 和 Read_Master_Log_Pos对应…

JavaWeb(十七)——JSP中的九个内置对象

一、JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。  由于JSP第一次访问…

jrockit_JRockit – JRCMD有用的命令

jrockit自2007年以来,我一直在使用JRockit。我发现它的速度比Hotspot慢,但在诊断和分析问题上总是更好。 从去年夏天开始,我一直在为一家国际电信系统供应商工作。 我们在HP OpenCall融合通信平台之上为电信运营商设计和实施各种产品。 我是开…

java并发问题_并发理论基础:并发问题产生的三大根源

并发问题变幻莫测,一谈到并发就显得非常高深,一般的程序员对于并发问题也是头疼不已,但是随着网络互联越来越普遍,大规模用户访问网站程序也越来越频繁,并发问题又无法避免。在我们解决并发问题前首先要理解产生并发问…