八、窮舉法
窮舉法(又稱"枚舉法")的基本思想是:一一列舉各種可能的情況,并判斷哪一種可能是符合要求的解,這是一種"在沒有其它辦法的情況的方法",是一種最"笨"的方法,然而對一些無法用解析法求解的問題往往能奏效,通常采用循環(huán)來處理窮舉問題。
例: 將一張面值為100元的人民幣等值換成100張5元、1元和0.5元的零鈔,要求每種零鈔不少于1張,問有哪幾種組合?
Dim i%, j%, k%
Print "5元 1元 0.5元"
For i = 1 To 20
For j = 1 To 100 - i
k = 100 - i - j
If 5.0 * i + 1.0 * j + 0.5 * k = 100 Then
Print i, j, k
End If
Next j
Next i
九、遞歸算法
用自身的結(jié)構(gòu)來描述自身,稱遞歸
VB允許在一個(gè)Sub子過程和Function過程的定義內(nèi)部調(diào)用自己,即遞歸Sub子過程和遞歸Function函數(shù)。遞歸處理一般用棧來實(shí)現(xiàn),每調(diào)用一次自身,把當(dāng)前參數(shù)壓棧,直到遞歸結(jié)束條件;然后從棧中彈出當(dāng)前參數(shù),直到?铡
遞歸條件:(1)遞歸結(jié)束條件及結(jié)束時(shí)的值;(2)能用遞歸形式表示,且遞歸向終止條件發(fā)展。
例:編fac(n)=n! 的遞歸函數(shù)
Function fac(n As Integer) As Integer
If n = 1 Then
fac = 1
Else
fac = n * fac(n - 1)
End If
End Function
相關(guān)推薦:
2012年下半年計(jì)算機(jī)等級考試報(bào)名時(shí)間及入口匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |