交换单元内容.ppt

交换单元内容.ppt

算 法 集 锦;算法的概念; 算 法 的 特 点;算法的描述;交换单元内容 累加 累乘 最大公约数 穷举法 递推法 求素数 ; t=x x=y y=t ;; 累 加; 累 乘;辗转相除法求两自然数m,n的最大公约数。 算法思想: (1)对于已知两数m,n,使得mn; (2) m除以n得余数r; (3)若r=0,则n为求得的最大公约数, 算法结束;否则执行(4); (4)m?n,n?r,再重复执行(2)。 ;输入M、N;“穷举法”或称“枚举法”. 基本思想: 一一枚举各种可能的情况,判断哪种可能符合要求。 用循环来处理枚举问题是很方面的。;“百钱百鸡”问题 用100元钱买100只鸡。公鸡5元1只,母鸡3元1只,小鸡1元买3只,问公鸡,母鸡,小鸡各买多少只? 分析:假设公鸡 x ,母鸡 y ,小鸡 z ,则由题意可得 三元一次不定方程组 x + y + z = 100 5*x + 3*y + z\3 =100 (即 15*x + 9*y + z =300);Private Sub Form_Click( ) Dim I As Integer , j As Integer , k As Integer For i=0 To 20 For j=0 To 33 k=100-i-j If(15*i+9*j + k=300) Then Print i; spc(5); j; spc(5); k;spc(5) End if Next j Next i End Sub. ;例:计算 S=1 + + + …….+ 前n 项之和. n和x值由键盘输入. 递推计算方法: 利用前一项求后一项的方法. ;Private Sub Form_Click( ) Dim sum As Single, I As Integer Dim n As Integer, t As Single ,x As Single n=val(txtn.text) x=val(txtx.text) sum=1 : t=1 For i=1 To n t=t*x/i sum=sum+t Next i Print “n=“; n, “x=“;x, “sum=:”;sum End Sub;例:判断 m是否为素数 解题基本思路: 将m被2,3, … (m-1) 除,若都除不 尽, 则m为素数 实际解题方法: 将m被2,3,… √m除,若都除不 尽, 则 m为素数(可 减少循环次数); 对已经存放在数组中的n个数,用按递增顺序排序。 选择法基本思想: (1) 从n个数的序列中选出最小的数,与第1个数交换位置; (2) 除第1个数外,其余n-1个数再按(1)的方法选出次小的数,与第 2个数交换位置。 (3) 重复(1) n-1遍,最后构成递增序列。;将一组数按从小到大排序 解题思路: 将相邻两个数比较,将小的调到前头。;动态演示; ; ;55;;;递 归;递归调用过程动态演示

文档评论(0)

1亿VIP精品文档

相关文档