3.3 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5a23c84252665b21eecc7e78 | Спільний FizzBuzz | 5 | 302273 | general-fizzbuzz |
--description--
Напишіть спрощену версію FizzBuzz яка спрацює для буль якого переліку факторів, разом з їх словами.
В основному, це реалізація "fizzbuzz", де надаються правила гри користувачу. Створіть функцію для реалізації цього. Функція повинна приймати два параметри.
Перший - масив із правилами FizzBuzz. До прикладу: [ [3, "Fizz"] , [5, "Buzz"] ]
.
Це вказує на те, що потрібно вивести Fizz
, якщо число кратне 3, і Buzz
якщо воно кратне 5. Якщо у двох випадках число кратне, тоді рядки мають бути об'єднані в порядку вказаному в масиві. У цьому випадку FizzBuzz
виконується якщо число ділиться на 3 і 5.
Другий параметр - це число, для якого функція повинна повернути рядок як зазначається вище.
--hints--
genFizzBuzz
має бути функцією.
assert(typeof genFizzBuzz == 'function');
genFizzBuzz([[3, "Fizz"],[5, "Buzz"]], 6)
має повернути рядок.
assert(
typeof genFizzBuzz(
[
[3, 'Fizz'],
[5, 'Buzz']
],
6
) == 'string'
);
genFizzBuzz([[3, "Fizz"],[5, "Buzz"]], 6)
має повернути "Fizz"
.
assert.equal(
genFizzBuzz(
[
[3, 'Fizz'],
[5, 'Buzz']
],
6
),
'Fizz'
);
genFizzBuzz([[3, "Fizz"],[5, "Buzz"]], 10)
має повернути "Buzz"
.
assert.equal(
genFizzBuzz(
[
[3, 'Fizz'],
[5, 'Buzz']
],
10
),
'Buzz'
);
genFizzBuzz([[3, "Buzz"],[5, "Fizz"]], 12)
має повернути "Buzz"
.
assert.equal(
genFizzBuzz(
[
[3, 'Buzz'],
[5, 'Fizz']
],
12
),
'Buzz'
);
genFizzBuzz([[3, "Buzz"],[5, "Fizz"]], 13)
має повернути "13"
.
assert.equal(
genFizzBuzz(
[
[3, 'Buzz'],
[5, 'Fizz']
],
13
),
'13'
);
genFizzBuzz([[3, "Buzz"],[5, "Fizz"]], 15)
має повернути "BuzzFizz"
.
assert.equal(
genFizzBuzz(
[
[3, 'Buzz'],
[5, 'Fizz']
],
15
),
'BuzzFizz'
);
genFizzBuzz([[3, "Fizz"],[5, "Buzz"]], 15)
має повернути "FizzBuzz"
.
assert.equal(
genFizzBuzz(
[
[3, 'Fizz'],
[5, 'Buzz']
],
15
),
'FizzBuzz'
);
genFizzBuzz([[3, "Fizz"],[5, "Buzz"],[7, "Baxx"]], 105)
має повернути "FizzBuzzBaxx"
.
assert.equal(
genFizzBuzz(
[
[3, 'Fizz'],
[5, 'Buzz'],
[7, 'Baxx']
],
105
),
'FizzBuzzBaxx'
);
--seed--
--seed-contents--
function genFizzBuzz(rules, num) {
}
--solutions--
function genFizzBuzz(rules, num) {
let res='';
rules.forEach(function (e) {
if(num % e[0] == 0)
res+=e[1];
})
if(res==''){
res=num.toString();
}
return res;
}