Мне дали задание взломать пароль длиной n символов, n задано в методе, все от a до z. Сложная часть:
Никаких циклов, вся рекурсия.
Единственный способ проверить, правильный ли ваш ответ. true сравнивается со всем паролем. Невозможно проверить букву-букву.
Если вы хотите использовать метод из класса String, вы можете использовать только charAt, равно, длина и подстрока.
Невозможно использовать другие классы.
Невозможно вызвать рекурсивный метод По 26 раз с каждой буквой в 26 разных строках. Когда я спросил об этом своего профессора, он сказал: «Давай, чувак.».
Мой алгоритм охватывает все варианты для n -длина пароля, например (например, для n=3): aaa, baa, caa ... zaa -> aaa. bba, cba, ..., zba и так далее. Я не уверен, что это полностью работает. У меня нет кода для класса пароля; это черный ящик. Единственное, что я могу из него использовать, это метод .isPassword().
public static String findPassword (Password p, int length){
return findPassword(p, length, "");
}
private static String findPassword(Password p,int length, String str){
if(str.length() 2000.
Как обойти это ограничение? Отправляя каждые x вызовы другого метода, который возвращает исходный метод, я не мог понять, как это сделать.
Подробнее здесь: [url]https://stackoverflow.com/questions/78594721/how-can-i-bypass-a-recursion-restriction[/url]
Мне дали задание взломать пароль длиной n символов, n задано в методе, все от a до z. Сложная часть: [list] [*]Никаких циклов, вся рекурсия. [*]Единственный способ проверить, правильный ли ваш ответ. true сравнивается со всем паролем. Невозможно проверить букву-букву. [*]Если вы хотите использовать метод из класса String, вы можете использовать только charAt, равно, длина и подстрока. [*]Невозможно использовать другие классы. [*]Невозможно вызвать рекурсивный метод По 26 раз с каждой буквой в 26 разных строках. Когда я спросил об этом своего профессора, он сказал: «Давай, чувак.». [/list] Мой алгоритм охватывает все варианты для n -длина пароля, например (например, для n=3): aaa, baa, caa ... zaa -> aaa. bba, cba, ..., zba и так далее. Я не уверен, что это полностью работает. У меня нет кода для класса пароля; это черный ящик. Единственное, что я могу из него использовать, это метод .isPassword(). [code]public static String findPassword (Password p, int length){ return findPassword(p, length, ""); }
private static String findPassword(Password p,int length, String str){ if(str.length() 2000. Как обойти это ограничение? Отправляя каждые x вызовы другого метода, который возвращает исходный метод, я не мог понять, как это сделать.