javascript для l oop: проблемы - PullRequest
0 голосов
/ 28 мая 2020

Я столкнулся с этой проблемой: напишите программу, которая использует console.log для печати всех чисел от 1 до 100, за двумя исключениями. Для чисел, делящихся на 3, выведите «Fizz» вместо числа, а для чисел, делящихся на 5 (а не на 3), вместо этого выведите «Buzz». Когда у вас это получится, измените свою программу, чтобы печатать «FizzBuzz» для чисел, которые делятся как на 3, так и на 5 (и по-прежнему печатать «Fizz» или «Buzz» для чисел, которые делятся только на одно из них).

и я попытался решить это с помощью кода ниже:

for(let i = 1; i <= 100; i++){
    if(i % 3 ===0) {
        console.log("fizz");
    } else if ( i % 5 === 0 ) {
        console.log("buzz");
    } else if (i % 5 === 0 && i % 3 === 0) {
        console.log("fizzbuzz");
    } 
    console.log(i);
}

пожалуйста, кто-нибудь может сказать мне, что я сделал не так, потому что я не получаю результат

1 Ответ

1 голос
/ 28 мая 2020

В вашем условии i = 15 должен быть возвращен fizzbuzz, но он возвращает fizz, потому что 15 можно разделить на 3 и 5, поэтому первое условие i % 3 === 0 получает true, поэтому оно вернуло fizz. если ваше первое условие - i % 3 === 0 && i % 5 === 0, тогда i = 15 должно быть возвращено fizzbuzz.

for(let i = 1; i <= 100; i++){
    if (i % 5 === 0 && i % 3 === 0) {
        console.log("fizzbuzz");
    } else if(i % 3 ===0) {
        console.log("fizz");
    } else if ( i % 5 === 0 ) {
        console.log("buzz");
    }
    console.log(i);
}
...