网站大量收购独家精品文档,联系QQ:2885784924

(必看)2011VB上机考试常考算法大全欢迎下载@.doc

(必看)2011VB上机考试常考算法大全欢迎下载@.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单算法 1.交换 2、计数、 求阶乘、 累加、累乘、综合做计算 此三类问题都要使用循环,①要注意根据问题确定循环变量的初值、终值或结束条件,②更要注意用来表示计数、和、阶乘的变量的初值 3、求最大、最小值 算法的基本思想:在所需比较的数中确定一个数为最大值max,(一般设第一个数为最大),然后其它的值依次和max比较,如果比它大则替换它,直到所有数据比较完,保存在max中的值就是所求的最大值。 4.求两个整数的最大公约数、最小公倍数等 分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数) (1) 对于已知两数m,n,使得mn; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4) m←n,n←r,再重复执行(2)。 例如: 求 m=14 ,n=6 的最大公约数. m n r 14 6 2 6 2 0 m=inputBox(m=) n=inputBox(n=) nm=n*m If m n Then t = m: m = n: n = t r=m mod n Do While (r 0) m=n n=r r= m mod n Loop Print 最大公约数=, n Print 最小公倍数=, nm/n 注意:因为m、n的值在过程中被改变,所以在过程调用时m,n一般设置为byval 5.判断素数 只能被1或本身整除的数称为素数 基本思想:把m作为被除数,将2~)(也可以是n-1或n/2)作为除数,如果都除不尽,m就是素数,否则就不是。(可用以下程序段实现) m =val( InputBox(请输入一个数)) For i=2 To int(sqr(m)) If m Mod i = 0 Then Exit For Next i If i int(sqr(m)) Then Print 该数是素数 Else Print 该数不是素数 End If 将其写成一函数,若为素数返回True,不是则返回False Private Function Prime( m as Integer) As Boolean Dim I as integer Prime=True For i=2 To int(sqr(m)) If m Mod i = 0 Then Prime=False Exit For endif Next i End Function 此算法非常重要,经常考到,务必要掌握!不仅考其本身,也经常考其应用,如质因子等。 较复杂算法 (一)排序问题 比较的思想非常重要。 1.选择法排序(升序) 基本思想: 1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置; 2)除第1 个数外,其余n-1个数中选最小的数,与第2个数交换位置; 3)依次类推,选择了n-1次后,这个数列已按升序排列。 下面给出一个示例 初始状态 23 78 96 18 60 15 82 23 78 96 18 60 15 82 第1次交换之后 15 78 96 18 60 23 82 第2次交换之后 15 18 96 78 60 23 82 第3次交换之后 15 18 23 78 60 96 82 第4次交换之后 15 18 23 60 78 96 82 第5次交换之后 15 18 23 60 78 96 82 第6次交换之后 15 18 23 60 78 82 96 第7次交换

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档