Предыстория - я прошел онлайн-тестирование кода и получил вопросы, подобные этому, я справился с ним довольно плохо по сравнению со скрытыми критериями оценки, и я надеялся получить другую пару глаз, чтобы посмотреть на это и, возможно, помочь некоторые из моих ошибок.
Вопросы практического теста -
Задача: Учитывая целое число, введите в него число 5, чтобы получить максимально возможное целое число Условия: (-80000 ... 80000) диапазон необходимо обработать
Ожидаемый ввод: int
Ожидаемый вывод: int
Тестовый случай: -999 -> -5999
80 -> 850
var lrgInt = function(num) {
var stringInt = num.toString();
for (let i = 0; i < stringInt.length; i++) {
if (stringInt.charAt(i) === "-") {
return parseInt([stringInt.slice(0, 1), '5', stringInt.slice(1)].join(''));
}else if (stringInt.charAt(i) < 5) {
return parseInt([stringInt.slice(0, i), '5', stringInt.slice(i)].join(''));
}
}
return parseInt([stringInt.slice(0, stringInt.length), '5', stringInt.slice(stringInt.length)].join(''));
};
Задача: Определить число операции, выполняемые с числом, следуя условиям, чтобы уменьшить его до 0.
Условия:
- Если число нечетное, вычтите 1
- Если число четное, разделите на 2
Ожидаемый ввод: int
Ожидаемый результат: int
var operations = 0;
var numberOfSteps = function(num) {
if (num === 0){
return operations;
}else if (num % 2 == 0) {
operations++;
return numberOfSteps(num/2);
} else {
operations++;
return numberOfSteps(num-1);
}
};