窮舉密碼序列一般使用的是遞迴。遞迴簡化了程式,不用我管自己玩去吧,可是計算機的負擔就重了,大量記憶體被用於記錄返回點(雖然記憶體已經足夠大了), 棧太深就崩潰了。盡量避開遞迴,用乙個陣列記錄每一位密碼對應的密碼種子的位置,然後對該標識陣列進行自加,類似於超大數的加法。**如下:
1public
class
passworddictionary224
///25
///建構函式。
26///
27///
密碼種子
28///
密碼長度
29public
passworddictionary(string pwdseed,
intpwdlen)
3035
///36
///密碼種子位置標識自加
37///
38protected
void
addpwdflag()
3951}52
}53}54
///55
///獲得下乙個密碼
56///
57///
58public
string getnextpwd()
5964
system.text.stringbuilder sb
=new
system.text.stringbuilder();
65isend
=true;66
for(
inti =0
; i
<
pwdflag.length; i++)
6772
else
if(isend)
737677}
78addpwdflag();
79return
sb.tostring();80}
81}82使用該類的示例**如下:
1passworddictionary pd
=new
passworddictionary(
"123456",
4);2while
(true)3
9response.write(pwd +"
");10}
沒有技術含量,純屬個人娛樂。
python 窮舉密碼
1.今天簡單介紹下生成數字排列組合的 2.實現 import sys import string import itertools 原數字字元 src 1234567890 defget strings chars string.printable 10 strings for i in range...
窮舉所有可能的出棧序列
輸入乙個入棧序列,輸出可能的出棧序列。輸入格式 第一行輸入乙個整數 n 表示入棧序列的長度。第二行輸入 n 個數字,表示入棧序列。輸出格式 輸出所有可能的出棧序列 輸入樣例 3 1 2 3輸出樣例 1 2 3 1 3 2 2 1 3 2 3 1 3 2 1很容易看出來,本題目是一道遞迴題。可以通過窮...
C語言窮舉法
使用c語言窮舉法解決求總值問題。1 乙隻猴子採摘了一堆蘋果,第一天吃一半的蘋果,猴子覺得還不夠,於是再吃了乙個。第二天也是這樣。一直到吃了九天,第十天就只剩下乙個了。請問猴子一共採摘了多少蘋果。分析 解決此類問題有兩個方法。一種就是我們較為容易想到的逆推法。還有一種就是窮舉法。逆推法 include...