设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 认证考试 >> 全国等级考试 >> 计算机等级考试二级VB常用算法:约数因子
精品推荐
全国等级考试点击TOP10
·2007年计算机等级考试二级ACCESS大纲
·全国计算机等级考试一级MS Office考试大纲
·2007年4月计算机等级二级VF模拟笔试题五
·计算机等级考试三级数据库知识考试题
·全国计算机等级考试一级B模拟试题七
·考全国计算机等级考试三级如何学C语言
·从一级到四级 全国计算机等级考试全攻略
·全国计算机等级考试一级B模拟试题三
·2007年4月计算机三级网络技术考前模拟二
·全国计算机等级考试一级B模拟试题一
认证考试点击TOP10
·个人简历表格
·小学教师述职报告
·个人简历样本
·大学毕业生个人简历
·个人简历范文
·学生个人简历
·求职面试自我介绍一分钟
·大学生暑期三下乡社会实践报告
·Adobe Photoshop 认证试题一
·个人简历模板-标准简历(简历模板)
精选专题

计算机等级考试二级VB常用算法:约数因子

作者: 来源:http://www.xgdown.com/ 时间:2007-4-7 11:38:17

  1、算法说明

  1) 最大公约数:

  用辗转相除法求两自然数m、n的最大公约数。

  (1) 首先,对于已知两数m、n,比较并使得m>n;

  (2) m除以n得余数r;

  (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行步骤(4)

  (4) mßn nßr 再重复执行(2)

  譬如: 10与5

  分析步骤: m=10 n=5

  r=m mod n=0

  所以n(n=5)为最大公约数

  24与9

  分析步骤: 以下是引用片段:
      m=24 n=9
  r=m mod n=6
  r≠0 m=9 n=6
  r=m mod n=3
  r≠0 m=6 n=3
  r=m mod n=0


  所以n(n=3)为最大公约数

  算法实现

  循环实现

以下是引用片段:
  Private Function GCD(ByVal m As Long, ByVal n As Long) As Long
  Dim temp As Long
  If m < n Then temp = m: m = n: n = temp
  Dim r As Long
  Do
  r = m Mod n
  If r = 0 Then Exit Do
  m = n
  n = r
  Loop
  GCD = n
  End Function


  递归实现

以下是引用片段:
  Private Function GCD(ByVal m As Long, ByVal n As Long) As Long
  Dim temp As Long
  If m < n Then temp = m: m = n: n = temp
  Dim r As Long
  r = m Mod n
  If r = 0 Then
  GCD = n
  Else
  m = n
  n = r
  GCD = GCD(m, n)
  End If
  End Function


  2) 最小公倍数

  m×n÷最大公约数

  3) 互质数

  最大公约数为1的两个正整数

  解题技巧

  该算法需要识记!

  这种类型题目的扩展是约数和因子题型。

  2、实战练习

  1) 补充代码

  给定一个十进制正整数,找出小于它并与其互质的所有正整数(所谓互质数是指最大公约数为1的两个正整数,下图是程序执行画面)。

  <aVB src="/upload/2007-4-7/20074711381878082.jpg" width=288>

Word-WRAP: break-word" bgColor=#f3f3f3>以下是引用片段:
  Option EXPlicit
  Private Function gcd( (1) ) As Integer
  Dim r As Integer
  r = m Mod n
  If r = 0 Then
  gcd = n
  Else
  m = n: n = r
  (2)
  End If
  End Function
  Private Sub Command1_Click()
  Dim n As Integer, p As Integer
  n = Val(Text1)
  For p = n - 1 To 2 Step -1
  If (3) Then List1.AddItem p
  Next p
  End Sub

  2) 编程题

  生成一个三行八列的二维数组A(3,8),其中前两行元素产生的方法是:

  用初值X1=26及公式Xi+1=(25×Xi+357) Mod 1024,产生一个数列:X1、X2、......、X16 。

  其中X1~X8作为A的第一行元素;X9~X16作为A的第二行元素;A的第三行元素值取前两行同列元素的最大公约数。最后按图示格式显示在图片框中。

  vb


计算机等级考试二级VB常用算法:约数因子 相关文章:
计算机等级考试二级VB常用算法:约数因子 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com