窮舉法破解密碼 遞迴 多層for迴圈

2021-09-24 19:55:18 字數 1004 閱讀 7885

題目要求:

1. 生成乙個長度是3的隨機字串,把這個字串作為當做密碼

2. 使用窮舉法生成長度是3個字串,匹配上述生成的密碼

要求: 分別使用多層for迴圈 和 遞迴解決上述問題

1)首先用遞迴來實現

public static void guessnum(char c, int index, string password)

for (int i = '0'; i <= 'z'; i++)

c[index] = (char) i;

if (index == c.length - 1)

}else }}

public static void main(string args) }}

string str1 = new string(c);

system.out.println("隨機生成的字串是:" + str1);

system.out.println("----------");

guessnum(c, 0, str1);

2)下面用多層for迴圈實現

public static void main(string args) }}

string str1 = new string(c);

system.out.println("隨機生成的字串是:" + str1);

system.out.println("----------");

string result = "";

char g = new char[3];

for (int i = '0'; i <= '9'; i++)

for (int i = 'a'; i <= 'z'; i++)

for (int i = 'a'; i <= 'z'; i++)

for (int i = 0; i < result.length(); i++)}}

}}

窮舉法 列舉法

列舉法,常常稱之為窮舉法,是指從可能的集合中一一枚舉各個元素,用題目給定的約束條件判定哪些是無用的,哪些是有用的。能使命題成立者,即為問題的解。採用列舉演算法解題的基本思路 1 確定列舉物件 列舉範圍和判定條件 2 一一枚舉可能的解,驗證是否是問題的解 下面我們就從列舉演算法的的優化 列舉物件的選擇...

第二週python窮舉法遞迴

例題1 百錢百雞問題 我國古代數學家張丘建在 算經 一書中提出的數學問題 雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?演算法分析 通過2個迴圈來窮舉可以優化迴圈次數,利用一共100隻雞的總數可以優化 author songdaiyu cock表示公雞 hen表示母...

演算法學習 暴力破解!列舉法(窮舉法)

暴力破解最常用的就是列舉法,也叫窮舉法。這是我在剛接觸演算法的時候,用的最順手的 也是最愛用的方法哈哈哈,我把他叫做 暴力遞迴 列舉法是在分析問題時,逐個列舉出 所有可能情況,然後根據條件判斷此答案是否合適,合適就保留,不合適就丟棄,最後得出一般結論。主要利用計算機運算速度快 精確度高的特點,對要解...