2015相关算法大全.docVIP

  • 1
  • 0
  • 约6.01千字
  • 约 7页
  • 2016-12-08 发布于北京
  • 举报
2015相关算法大全

计数与求和 求数组最大值 fmax = x(1) : For i = 2 To n : If x(i) fmax Then fmax = x(i) : Next i 输入数组 For i = 1 To m : a(i) = InputBox(a( + Str(i) + )=) : Next i 输出数组(每行n个) For i = 1 To m Print a(i); if i mod n =0 then print Next i 随机数产生[N,M]范围内数组 For i = 1 To m a(i) = int(rnd*(M-N+1))+N Next i 数组元素倒置 For i =1 To n\2 t=A(i) : A(i)=A(n-i+1) : A(n-i+1)=t Next I 在数组中查找数 1.原始算法 For i = 1 To n : If x = a(i) Then j = I : Next i 2.变种1 For i = 1 To 8 : If x = a(i) Then Exit For : Next i 在数组中删除特定的数 For i = 1 To 8 :If x = a(i) Then j = I :Next i For i = j To 7 : a(i) = a(i + 1) : Next i 求两个整数的最大公约数、最小公倍数 1.原始程序 Dim n%,m%,nm%,r% m=Val(InputBox(m=)) :n=Val(InputBox(n=)) : nm=n*m If mn 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 2.变种1 Dim n%,m%,nm%,r% :m=Val(InputBox(m=)) n=Val(InputBox(n=)) : nm=n*m : r=m mod n Do While (r 0) m=n : n=r : r= m mod n Loop Print 最大公约数=, n :Print 最小公倍数=, nm/n 3.变种2 Dim n%,m%,nm%,r% m=Val(InputBox(m=)) : n=Val(InputBox(n=)) : nm=n*m If mn Then t=m: m=n: n=t Do While (r 0) r= m mod n : m=n : n=r Loop Print 最大公约数=, m : Print 最小公倍数=, nm/m 判断素数及验证哥德巴赫猜想 1.判断N是否是素数 For i= 2 To Int(Sqr(n)) If n Mod i = 0 Then Exit For Next i If i Int(Sqr(n)) Then Print n; 是素数 Else Print n; 不是素数 End If 2. 判断N是否是素数(变种1) flag=0 For i= 2 To Int(Sqr(n)) If n Mod i = 0 Then flag =1 :Exit For Next i If flag =0 Then Print n; 是素数 Else Print n; 不是素数 End If 3. 哥德巴赫猜想 Dim N%, N1%, N2%, I%, K1%, K2% N=Val(InputBox(输入大于6的偶数)) For N1 = 3 To N \ 2 Step 2 K1 = Int(Sqr(N1)) For I = 2 To K1 判断N1是否是素数 If N1 Mod I = 0 Then Exit For Next I If I K1 Then 如果N1为素数,将N分解为N1+N2 N2 = N - N1 K2 = Int(Sqr(N2)) For I = 2 To K2 判断N2是否是素数 If N2 Mod I = 0 Then E

文档评论(0)

1亿VIP精品文档

相关文档