Lab6 要证哥德巴娇猎想 任课教师:戴开宇TA:时均帅、谭肖、王安华 程序设计B班2007-10-1115:20-16:50(90分钟)
Lab6 验证哥德巴赫猜想 任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 2007-10-11 15:20-16:50(90分钟)
本关ab碟的安推 今Lab3讲评(约10分钟)一谭肖 ☆Lab4讲评(约10分钟)一王安华 ab5讲评(约10分钟)一王安华 ◆Lab6-验证哥德巴赫猜想时均咖 题目要求说明及答疑(约10分钟) 程序编写(40-50分钟) 本次1ab下课之前完成并上传
2 本次lab课的安排 ❖Lab3讲评(约10分钟)—谭肖 ❖Lab4讲评(约10分钟)—王安华 ❖Lab5讲评(约10分钟)—王安华 ❖Lab6-验证哥德巴赫猜想-时均帅 ▪ 题目要求说明及答疑(约10分钟) ▪ 程序编写(40-50分钟) ▪ 本次lab下课之前完成并上传
Lab6日标 3 考察部分控制语旬的使用 考察对方法的理解 对 project-1的部分实现细节有所启发 ◆提高夙读和编写代码的能力 ◆学习程序的设计框架加深对程序设计方法的理解 ◆程序写好了,可不可以认为我们把哥德巴赫猜想 这一难题解决了?
3 Lab6目标 ❖考察部分控制语句的使用 ❖考察对方法的理解 ❖对project-1的部分实现细节有所启发 ❖提高阅读和编写代码的能力 ❖学习程序的设计框架加深对程序设计方法的理解 ❖程序写好了,可不可以认为我们把哥德巴赫猜想 这一难题解决了?
Lab6-验证哥德巴赫猎农 4 ◇哥德巴赫猜想是世界近代三大数学难题之∽。1742年,哥德巴赫在 教学中发现,每个不小于6的偶数都是两个素数(只能被和它本身整 除的数)之和,如6=3+3,12=5十7等等。当年,哥德巴赫写信给 当时的大数学家欧拉,提出了以下的猜規: (a)任何一个>6之偶数,都可以表示成两个奇质数之和。 (b)任何一个>9之奇数,都可以表示成三个奇质数之和。 ◇这就是著名的哥德巴赫猜想。 心补充知识:目前最佳的结果是中国数学家陈景润于1966年证明的,称为陈氏定理 Chenstheorem)。“任何充分大的偶数都是一个质数与一个自然数之和,而后者 仅仅是两个质数的乘积”,通常都简称这个结果为大偶数,可表示为“1+2”的形式
4 Lab6--验证哥德巴赫猜想 ❖ 哥德巴赫猜想是世界近代三大数学难题之一。1742年,哥德巴赫在 教学中发现,每个不小于6的偶数都是两个素数(只能被和它本身整 除的数)之和,如6=3+3,12=5+7等等。当年,哥德巴赫写信给 当时的大数学家欧拉,提出了以下的猜想: ▪ (a)任何一个≥6之偶数,都可以表示成两个奇质数之和。 ▪ (b)任何一个≥9之奇数,都可以表示成三个奇质数之和。 ❖ 这就是著名的哥德巴赫猜想。 ❖ 补充知识:目前最佳的结果是中国数学家陈景润于1966年证明的,称为陈氏定理 (ChensTheorem)。“任何充分大的偶数都是一个质数与一个自然数之和,而后者 仅仅是两个质数的乘积”,通常都简称这个结果为大偶数,可表示为“1+2”的形式
5 Lab6代码结拘 public class lab6 public static void main(String args[t // isPrime(判断整数 number是否为奇素数(大于2的质数) static boolean isPrime(int number)0 // evenProcesso打印出大于等于6的偶数表示成两个奇质数之和的形式 static void evenProcess(int number)t // oddProcess0打印出大于等于9的奇数数表示成三个奇质数之和的形式 static void oddProcess(int number)t
5 Lab6代码结构 public class lab6 { public static void main(String args[]){} //isPrime()判断整数number是否为奇素数(大于2的质数) static boolean isPrime(int number){} //evenProcess()打印出大于等于6的偶数表示成两个奇质数之和的形式 static void evenProcess(int number){} //oddProcess()打印出大于等于9的奇数数表示成三个奇质数之和的形式 static void oddProcess(int number){} };
实那细芦提示-7 Math. random(产生随机数的范围 [0.0,1.0) 今(int) Math. random o)的范围 0,1,2,3,4,5,6,7,8,9} ◇题目中要求随机产生十个整数验证哥德巴 赫猜想。并且这十个整数的取值范围是 [1,100,怎么办?
6 实现细节提示-1 ❖Math.random()产生随机数的范围 [0.0,1.0) ❖(int)(Math.random())的范围 {0,1,2,3,4,5,6,7,8,9} ❖题目中要求随机产生十个整数验证哥德巴 赫猜想,并且这十个整数的取值范围是 [1,100],怎么办?
实那细芦提示2 7 今如何判断一个整数是否是奇素数(质数)? ☆质数的定义:一个大于1的自然数,除了1与它自身外, 再没有其它的正约数了,这样的自然数叫做质数。 友情提醒:题目中要求判断某一整数是否 为大于2的质数
7 实现细节提示-2 ❖如何判断一个整数是否是奇素数(质数)? ❖ 质数的定义:一个大于1的自然数,除了1与它自身外, 再没有其它的正约数了,这样的自然数叫做质数。 ❖友情提醒:题目中要求判断某一整数是否 为大于2的质数
8 实那细芦提示-3 ◆把某一整数写成满足某些条件的两个或者 个数字之和,么办? 今 Project-1中找出四个数字组成所有值为 24的表达式 今提示 for(number1; .;.) for(number2 Number1+number2+number 3==number????
8 实现细节提示-3 ❖把某一整数写成满足某些条件的两个或者 三个数字之和,怎么办? ❖Project-1中找出四个数字组成所有值为 24的表达式 ❖提示: for(number1;..;..) for(number2;..;..) For(number3;..;..) { Number1+number2+number3==number???? …….. }
Lab6上伟 9 ftp://学号:java@10.132.141.33/ classes/07/071 程序设计B/ WORK UPLOAD/1ab6/ 在以上路径下以学号十姓名命名建立文件夹 今 Deadline:本次lab课结束时
9 Lab6上传 ❖ftp://学号:java@10.132.141.33/classes/07/071 程序设计B/WORK_UPLOAD/lab6/ ❖在以上路径下以学号+姓名命名建立文件夹 ❖Deadline:本次lab课结束时
10 所录:100以内的质数表 2357111317192329 3137414347 535961677173798389 97
10 附录:100以内的质数表 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97