《pascal第三讲.ppt》由会员分享,可在线阅读,更多相关《pascal第三讲.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三讲第三讲用while编写求约数和求最大公约数求最小公倍数判断质数求约数和程序的优化。约数的成对性48的约数1 482 243 84 6找到一个约数就可以找到它的另一半。是否有特例思考:对某个数x,p为它的因子,必定有另一个因子,请用表达式表示另一个因子。另一个因子是 x div p,我们把这个因子的值赋给变量q这时,P*q=x(p一定是小于等于Q的)。我们可以用循环穷举p的值,p的初值为1想一想:到什么时候可以结束?你能用while写出来吗?求约数和的程序:P:=1;While p*p=n do begin 用if命令看这个p是否为x的因子。p:=p+1;end;对特例如何处理?拓展判断质
2、数程序的优化。斐波那契数列1201年,意大利数学家Fibonacci(斐波那契)发现了以他自己的名字命名的数列-Fibonacci数列。他是在研究兔子的生长、繁殖的规律中发现这一数列的。他对数列的研究是从一对刚刚出生的小兔子(雌雄一对)开始计算在n个月后将会有多少只兔子,他做了如下的假设:1、新出生的小兔子在一个月的时间里发育为成年兔子;2、每对成年兔子每月繁殖一对小兔子(雌雄一对);3、兔子没有死亡发生。接下来我们来看会产生一组什么样的数呢?我们用Fn代表n个月后兔子的对数。因为从一对新生的兔子开始,所以,F0=1,F1=1。这一对兔子在第二个月末生出另一对小兔子,从而F2=1+1=2。在第
3、三个月末,第一对兔子将生下又一对小兔子,所以F3=2+1=3。我们用如下的表格表示前10个月每个月初兔子的数量:时间(月)初生兔子(对)成熟兔子(对)兔子总数(对)1 1 0 1 2 0 1 1 3 1 1 2 4 1 2 3 5 2 3 5 6 3 5 8 7 5 8 13 8 8 13 21 9 13 21 34 10 21 34 55 由此可知,从第一个月开始以后每个月的兔子总数是:1,1,2,3,5,8,13,21,34,55,89,144,233 这就是著名的Fibonacci(斐波那契)数列,这个数列具有这样的特点:前两项均为1,从第三项起,每一项都是其前两项的和,即F0=F1=1
4、,当n1时,Fn+2=Fn+1+Fn。求斐波那契数列第三十项的值?求小于100000的斐波那契数列。用辗转相除法求最大公约数被除数除数商余数121801218121612620被除数除数商余数7238134383414344824220什么时候结束?每次被除数和除数如何变化?愚公移山二挖YN山没了结束开始直到型循环repeat 语句1;语句2;语句3;语句4;until 布尔表达式用直到循环求两个数的最小公倍数和最大公约数。与当型循环的比较while判断在前条件满足,继续循环。要用beginend。循环体可以一次也不执行。repeat判断在后条件满足,循环停止。不要用beginend循环体至少
5、执行一次。直到循环的缺陷第一次执行循环体时没有判断,可能会出错。在设置初值时要加以考虑。求输入的一个整数的各位数字之和。输入一个数,将这个数倒着合成一个新数后输出。斐波那契数列设有一个共有6级的楼梯,某人每步可走1级,也可走2级,某人从底层开始走完全部楼梯的走法有 种?比如3级楼梯时,共有3种走法:1+1+1,1+2,2+1。斐波那契数列1201年,意大利数学家Fibonacci(斐波那契)发现了以他自己的名字命名的数列-Fibonacci数列。他是在研究兔子的生长、繁殖的规律中发现这一数列的。他对数列的研究是从一对刚刚出生的小兔子(雌雄一对)开始计算在n个月后将会有多少只兔子,他做了如下的假
6、设:1、新出生的小兔子在一个月的时间里发育为成年兔子;2、每对成年兔子每月繁殖一对小兔子(雌雄一对);3、兔子没有死亡发生。接下来我们来看会产生一组什么样的数呢?我们用Fn代表n个月后兔子的对数。因为从一对新生的兔子开始,所以,F0=1,F1=1。这一对兔子在第二个月末生出另一对小兔子,从而F2=1+1=2。在第三个月末,第一对兔子将生下又一对小兔子,所以F3=2+1=3。我们用如下的表格表示前10个月每个月初兔子的数量:时间(月)初生兔子(对)成熟兔子(对)兔子总数(对)1 1 0 1 2 0 1 1 3 1 1 2 4 1 2 3 5 2 3 5 6 3 5 8 7 5 8 13 8 8 13 21 9 13 21 34 10 21 34 55 由此可知,从第一个月开始以后每个月的兔子总数是:1,1,2,3,5,8,13,21,34,55,89,144,233 这就是著名的Fibonacci(斐波那契)数列,这个数列具有这样的特点:前两项均为1,从第三项起,每一项都是其前两项的和,即F0=F1=1,当n1时,Fn+2=Fn+1+Fn。分解质因数。思考:是否能用for循环做?作业:用for、while、repeat完成:判断一个数是不是质数(素数)?从n个数里挑一个最大的数。用