本人大一狗,才學完c語言。
本來是製作乙個用字典法暴力破解hash值的程式,但是途中出現了問題,就是字典檔案。8位純字母的字典居然要1000多gb,無奈之下只能使用列舉法來迴圈字串了。
當時是比賽的一道題目,由於需要每種可能的情況,所以要迴圈出n位所有可能性的純字母字串,就是從aaaaa~zzzzz所有的可能性。
我使用的是陣列,每位用ascii的值來迴圈達到目的,迴圈出數字後用型別轉換轉換成字元型,最終得出需要的字母。
#includeint main()}}
} }return 0;
}
這是乙個5位字串的迴圈,老師說迴圈層數太多效率低,所以我標題說了效率低。。
for裡面的97 和 122代表了ascii碼表裡的a和z,這表示每位字元從a迴圈到z,如果還有大寫、數字、字元的話可以更改這裡的數字為相應的ascii值。
自創字串查詢方法
kmp bm sunday 方法說白了都要字串比較,這一步都很費時間,有沒有略去或者至少件事這減少這一步驟度呢。考慮目標字串 str1 abcd 我們把他加起來 sum1 a b c d str2 a1b2c3abc2abcd 我們也4個字元加起來,如果不相等後移一位再求和比較,如果相等,再用字串比...
C語言 演算法 字串
字串操作 include include include include 字串移位包含問題,比如aabcd前兩位aa移到尾部後bcdaa包含cdaa字串 bool contain check s void exe get most 給乙個字串,有大小寫字母,要求寫乙個函式把小寫字母放在前面,大寫字母...
C 列舉轉字串
有時候需要把列舉轉字串,那麼如何把列舉轉字串?假如需要把列舉轉字串,可以直接把他進行轉換,請看 public enum di static void main string args 這樣就可以把列舉轉字串 除了這個方法,可以使用 c 6.0 的關鍵字,請看 console.writeline na...