Программа Javascript для начинающих: напишите код, который начинается с 0000 и угадывает каждый возможный пароль вплоть до 9999
Вот в чем проблема: напишите программу для угадывания паролей для вас, которая ускорит процесс. Секретный пароль был сгенерирован случайным образом и хранится в переменной с именем secretPasscode.
Начиная с 0000, угадывайте каждый возможный пароль вплоть до 9999. После того, как правильный пароль был угадан, распечатайте, сколько предположений потребовалось, чтобы получить правильный.
Это данная программа:
function start() {
var secretPasscode = generateRandomPasscode();
//code goes here
}
// Checks whether the given guess passcode is the correct passcode
function isCorrect(guessCode, correctCode) {
return guessCode == correctCode;
}
// Generates a random 4 digit passcode and returns it as a String
function generateRandomPasscode() {
var randomPasscode = "";
for(var i = 0; i < 4; i++) {
var randomDigit = Randomizer.nextInt(0, 9);
randomPasscode += randomDigit;
}
return randomPasscode;
}
Я ПОТЕРЯЛ о том, как написать эту программу. (Я уже делал "счетные" программы и могу выяснить, как подсчитать количество попыток, необходимых для угадывания пароля, но я застрял при написании программы, которая угадывает правильный пароль).
Я пытался начать с 0 и добавить 1, пока он не достигнет 9999 или правильного пароля, но я не думаю, что это правильный метод для запуска этой программы. Я пытался использовать цикл for и цикл while, но ни один из них не работал. Я также не уверен, что я реализовал функцию isCorrect
правильно. Это то что я написал
guessCode = 0
for(var i = 0; i < 9999; i++){
// while(guessCode != secretPasscode)//
guessCode ++
guessCode += guessCode;
isCorrect(guessCode);
}
У меня также есть еще одна проблема: это не учитывает пароли до 1000. Я не знаю, как угадать числа 0000 - 0999 (мне нужно добавить нули вперед, чтобы это было 4 цифры, но я не ' не знаю как это сделать). Я попытался установить переменную в 0000 var guessCode = 0000
но это не работает, и я получаю ошибку Uncaught SyntaxError: Octal literals are not allowed in strict mode.
Я действительно потерян на том, как сделать эту программу и был бы признателен за любые предложения и помощь. Спасибо!