算法实例综合复习卷.docVIP

  • 4
  • 0
  • 约5.71千字
  • 约 13页
  • 2017-10-13 发布于重庆
  • 举报
算法实例综合复习卷.doc

PAGE  PAGE 13 算法实例综合复习卷 枚举算法实例: 枚举法:列举出问题的所有可能解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。一 一列举,无一遗漏。 在很多时候,实现枚举算法的结构是循环结构嵌套分支结构。 实例1:在1—1000这些自然数中找寻所有能被37整除的数,累加并输出结果。 结 束 x ← x+1 T 输出s x mod 37 =0 x =1:s=0 开 始 x =1000 F T F s=s+x Private Sub Form_Load() Show Dim x, s As Integer s=0 For x = 1 To 1000 If x Mod 37 = 0 Then s=s+x End If Next x Print s End Sub 结 束 x ← x+1 T x mod 3=2 and x mod 5=2 x = 1:n=0 开 始 x =1000 F T T F n=n+1 输出n 2、在1~1000这些自然数中算出所有被3和5除都余2的数有几个。 Private Sub Form_Load() Dim x,n As Integer Show Print “1~1000之间被3和5除都余2的数: n = 0 For x = 1 To 1000 If x Mod 5 = 2 And x Mod 3 = 2 Then n = n + 1 End If Next i Print 共有 Str(n) 个。 End Sub 3、若有一个三位数满足:x=a3+b3+c3(其中a、b、c分别是该三位数的百位、十位和个位数字),则称该三位数为水仙花数。请编程找出所有的水仙花数。 方法一: 方法一: Private Sub Form_Load() Show Dim x, a, b, c As Integer For x = 100 To 999 a = x \ 100 b = (x Mod 100) \ 10 c = x Mod 10 If x = a ^ 3 + b ^ 3 + c ^ 3 Then Print x Next x End Sub 定义x,a,b,c x=100 x=999 a=x\100 b=(x mod 100)\10 c=x mod 10 x=a^3+b^3+c^3 输出x x=x+1 结束 开始 T F T F 运行结果: 方法二: 方法二: Private Sub Form_Load() Show Dim a, b, c, x As Integer For a = 1 To 9 For b = 0 To 9 For c = 0 To 9 x= a * 100 + b * 10 + c If x= a ^ 3 + b ^ 3 + c ^ 3 Then Print x Next c Next b Next a End Sub 开始 定义x,a,b,c a=1 a=9 b=0 b=9 c=0 c=9 x=100*a+10*b+c x=a^3+b^3+c^3 输出x c=c+1 b=b+1 a=a+1 结束 T T T T F F F F 开始 i=0:n=0 i=99 X=10047+i*100 x mod 57=0 or x mod 67=0 输出X T n=n+1 F 结束 T F i=i+1 4、一张单据上的5位数为1■■47,其中百位数和千位数已经模糊不清了,但直到这???5位数是57或67的倍数,请设计一个算法,输出所有可能的数据,并统计满足要求的数据个数。 Private Sub Form_Load() Dim i, x As Integer n = 0 Show For i = 0 To 99 x = 10047 + i * 100 If x Mod 57 = 0 Or x Mod 67 = 0 Then Print x, n = n + 1 End If Next i Print Print 满足条件的数据一共有 Str(n) 个 End Sub 5、一张单据上的5位数为1■4■7,其中十位数和千位数已经模糊不清了,但直到这个5位数是57或67的倍数,请设计一个算法,输出所有可能的数据,并统计满足要求的数据个数。 Private Sub Form_Load() Show Dim a, b, x As Integer n = 0 For a = 0 To 9 For b = 0 To 9

文档评论(0)

1亿VIP精品文档

相关文档