VB编程经常要要用到的算法(经典)(2)_VB.net_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

VB编程经常要要用到的算法(经典)(2)

作者:黑客防线网安VB教程基地 来源:黑客防线网安VB教程基地 浏览次数:0

本篇关键词:算法经典编程经常
黑客防线网安网讯:    ext i  End Function  四、验证哥德巴赫猜想  (任意一个大于等于6的偶数都可以分解为两个素数之和)  基本思想:n为大于等于6的任一偶数,可分解为n1和n2两个数,分别检查n1和n2...

    ext i

  End Function

  四、验证哥德巴赫猜想

  (任意一个大于等于6的偶数都可以分解为两个素数之和)

  基本思想:n为大于等于6的任一偶数可分解为n1和n2两个数分别检查n1和n2是否为素数,如都是,则为一组解如n1不是素数,就不必再检查n2是否素数先从n1=3开始,检验n1和n2(n2=N-n1)是否素数。然后使n1+2 再检验n1、n2是否素数,… 直到n1=n/2为止。

  利用上面的prime函数,验证哥德巴赫猜想的程序代码如下:

  Dim n%,n1%,n2%

  n=Val(InputBox("输入大于6的正整数"))

  For n1=3 to n step 2

  n2=n-n1

  If prime(n1) Then

  If prime(n2) then

  Print n & "=" & n1 & "+" & n2

  Exit For '结束循环

  End if

  End if

  Next n1

  五、排序问题

  1.选择法排序(升序)

  基本思想:

  1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置;

  2)除第1 个数外,其余n-1个数中选最小的数,与第2个数交换位置;

  3)依次类推,选择了n-1次后,这个数列已按升序排列。

  程序代码如下:

  For i = 1 To n - 1

  imin = i

  For j = i + 1 To n

  If a(imin) > a(j) Then imin = j

  Next j

  temp = a(i)

  a(i) = a(imin)

  a(imin) = temp

  Next I

  2.冒泡法排序(升序)

  基本思想:(将相邻两个数比较,小的调到前头)

  1)有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”;

  2)第二趟对余下的n-1个数(最大的数已“沉底”)按上法比较,经n-2次两两相邻比较后得次大的数;

  3)依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。

  程序段如下

  For i = 1 To n - 1

  For j = 1 To n-i

  If a(j) > a(j+1) Then

  temp=a(j): a(j)=a(j+1): a(j+1)=temp

  End if

  Next j

  Next i

  3.合并法排序(将两个有序数组A、B合并成另一个有序的数组C,升序)

  基本思想:

  1)先在A、B数组中各取第一个元素进行比较,将小的元素放入C数组;

  2)取小的元素所在数组的下一个元素与另一数组中上次比较后较大的元素比较,重复上述比较过程,直到某个数组被先排完;

  3)将另一个数组剩余元素抄入C数组,合并排序完成。

  程序段如下:

  Do While ia <= UBound(A) And ib <= UBound(B) '当A和B数组均未比较完

  If A(ia) < B(ib) Then

  C(ic) = A(ia): ia = ia + 1

  Else

  C(ic) = B(ib): ib = ib + 1

  End If

  ic = ic + 1
  
  
  文章搜索: 名称 全文 文章 首页 IT资讯 开发语言 软件开发 WEB开发 考试认证 数据库 程序人生 编程学院 电子书籍 热点专题 编程论坛 进入编程网首页 您现在的位置:首页--开发语言--数据结构--算法--浏览文章

  VB编程用经常要要用到的算法(经典)

  点击:244 发布日期:2007-12-12 13:56:20 进入论坛

  Loop

  Do While ia <= UBound(A) 'A数组中的剩余元素抄入C数组

  C(ic) = A(ia)

  ia = ia + 1: ic = ic + 1

  Loop

  Do While ib <= UBound(B) 'B数组中的剩余元素抄入C数组

  C(ic) = B(ib)

  ib = ib + 1: ic = ic + 1

  Loop

  六、查找问题

  1.①顺序查找法(在一列数中查找某数x)

  基本思想

 

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14803-1.html
网站维护教程更新时间:2012-04-03 01:14:45  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer