SOGO論壇
  登入   註冊   找回密碼
查看: 1150|回覆: 1
列印 上一主題 下一主題

[問題求助] Visual Basic 遞迴函式 [複製連結]

狀態︰ 離線
跳轉到指定樓層
1
發表於 2014-1-8 22:29:11 |只看該作者 |倒序瀏覽
請問各位大大
學校期末出了一個題目:
寫一個VB遞迴函式,功能是可對輸入字串進行組合。
例如:「combinat('abcd',2)」所傳回的字串矩陣是 ab,ac,ad,bc,bd,cd........
此字串矩陣的每一列代表從輸入字串任取兩個字元時,所有可能的組合。
(P.S輸入字串無重複字元)


請問這程式該怎麼寫?
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

Rank: 11Rank: 11Rank: 11Rank: 11

熱心參予論壇活動及用心回覆主題勳章 數位硬體勳章

狀態︰ 離線
2
發表於 2014-2-12 19:33:07 |只看該作者
是不是這樣
-函數創建迭代器的高效循環
例如,SML提供了一個製表工具:製表(F)產生的序列F(0), F(1), ...。可以在Python通過組合來實現相同的效果的imap()和計數()形成的imap(F, 計數())
這些工具和它們內置的同行也與在高速功能運作良好操作者模塊。例如,乘法運算符可以跨兩個向量被映射,以形成高效率的點積: 總和(IMAP(operator.mul, 向量1, vector2))
無限迭代器:

迭代器        參數        結果        例子
COUNT()        開始,[步]        啟動,啟動+步,啟動+2 *步,...        數(10) - > 10 11 12 13 14 ...
循環()        p        P0,P1,... PLAST,P0,P1,...        週期('ABCD') - > 一 乙 ç Ð 一 乙 Ç ð ...
重複()        ELEM [,N]        ELEM,ELEM,ELEM,... 無休止地或最多n次        重複(10, 3) - > 10 10 10
迭代終止在最短的輸入序列:

迭代器        參數        結果        例子
鏈()        P,Q,......        P0,P1,... PLAST,Q0,Q1,...        鏈('ABC', 'DEF') - > 一 乙 ç Ð é F
壓縮()        數據選擇器        (D [0]如果s [0]),(D [1]如果s [1]),...        壓縮('ABCDEF', [1,0,1,0,1,1]) - > 一個 Ç É F
dropwhile()        PRED,以次        以次[n]的,以次[N +1],潑尼松開始時失敗        dropwhile(波長 X: x <5, [1,4,6,4,1]) - > 6 4 1
GROUPBY()        迭代[,keyfunc]        子迭代器由keyfunc的值分組(五)         
IFilter的()        PRED,以次        起,其中預計值(ELEM)是真實的元素        IFilter的(波長 X: x%的2, 範圍(10)) - > 1 3 5 7 9
ifilterfalse()        PRED,以次        起,其中預計值(ELEM)是假的要素        ifilterfalse(波長 X: x%的2, 範圍(10)) - > 0 2 4 6 8
islice()        起,[開始,]停止[,步]        從序列的元素[啟動:停止:步]        islice(“ABCDEFG”, 2, 無) - > ç Ð é F Ğ
IMAP()        函數,P,Q,......        功能(P0,Q0),功能(P1,Q1),...        IMAP(POW, (2,3,10), (5,2,3)) - > 32 9 千
星圖()        功能,以次        功能(*以次[0]),功能(*起[1]),...        星圖(POW, [(2,5), (3,2), (10,3)]) - > 32 9 1000
三通()        它,正        IT1,IT2,... ITN分裂一個迭代器裡面分成n         
takewhile()        PRED,以次        以次[0],以次[1],直到PRED失敗        takewhile(波長 X: x <5, [1,4,6,4,1]) - > 1 4
izip()        P,Q,......        (P [0],則q [0]),對(p [1],則q [1]),...        izip('ABCD', 'XY') - > 斧 通過
izip_longest()        P,Q,......        (P [0],則q [0]),對(p [1],則q [1]),...        izip_longest('ABCD', 'XY', fillvalue =' - ') - > 斧 按 C- D-
Combinatoric發電機:

迭代器        參數        結果
產品()        P,Q,...... [重複= 1]        笛卡爾積,相當於一個嵌套的for循環
排列()        P [,R]        R-長度的元組,所有可能的排序,沒有重複的元素
組合()        P,R        R-長度的元組,按照排序順序,無重複的元素
combinations_with_replacement()        P,R        R-長度的元組,按照排序順序,有重複的元素
產品(“ABCD”, 重複= 2)                 AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD
排列('ABCD', 2)                 AB AC AD BA BC BD CA CB CD DA DB DC
組合('ABCD', 2)                 AB AC AD BC BD 光盤
combinations_with_replacement('ABCD', 2)                 AA AB AC AD BB BC BD CC CD DD
請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-11-26 13:42

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部