Недавно мой коллега прислал мне следующий фрагмент JavaScript в шутку:
let butScript = (nrOfButs) => {
for(var i = 0; i < nrOfButs; i++){
if(i % 3 == 0){
console.log("Yeah")
}
if(i % 2 == 0){
console.log("But")
}
if(i % 3 == 1){
console.log("No")
}
}
}
Поскольку код был написан в рабочее время, очевидно, это была огромная трата ресурсов компании. Чтобы предотвратить подобные случаи в будущем, мы должны минимизировать потери рабочего времени. И поскольку общеизвестно, что более короткие программы пишутся быстрее, мы должны сделать этот код максимально коротким!
вход
Одно неотрицательное целое число. Вы не должны обрабатывать ошибочные данные.
Выход
Ваша программа должна выдавать результат, идентичный приведенному выше сценарию. Вы должны вывести одно слово на строку, и количество слов должно соответствовать исходному сценарию.
Допустимо включать непропускаемые символы пробела в конце каждой строки (но не в начале), поскольку они невидимы. Один дополнительный символ новой строки допустим в самом конце вывода.
Примеры
Input: 0
Output:
Input: 1
Output:
Yeah
But
Input: 2
Output:
Yeah
But
No
Input: 10
Output:
Yeah
But
No
But
Yeah
But
No
Yeah
But
No
But
Yeah
nrOfButs
переменная довольно плохо названа и вводит в заблуждение. Хороший простой вызов в любом случае.
if
падение падения и продолжить в текущем цикле, если их условие было выполнено.