Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   тот самый FizzBuzz (https://javascript.ru/forum/misc/78759-tot-samyjj-fizzbuzz.html)

ostermal 31.10.2019 15:39

тот самый FizzBuzz
 
Собственно, подскажите, что не так в моем коде? Он выдает все, кроме самого FizzBuzz, например, на цифре 15, там идет просто fizz
for (let qwe=1;qwe<100;qwe++) {
 if ((qwe%3)==0) {
 console.log(qwe,'Fizz');
 } else if ((qwe%5)==0) {
 console.log(qwe,'Buzz');
 	} else if ((qwe%5)==0 && (qwe%3)==0) {
 	console.log(qwe,'FizzBuzz');
    } else{ console.log(qwe);
	}
}

рони 31.10.2019 15:43

:)
Цитата:

Сообщение от ostermal
что не так в моем коде?

Цитата:

Сообщение от ostermal
else


рони 31.10.2019 15:44

ostermal,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 31.10.2019 15:50

ostermal,
поменяйте местами 1 и 3 if(...){...}

ostermal 31.10.2019 15:51

А поподробнее можно? Не очень понимаю где оно лишнее

рони 31.10.2019 15:53

ostermal,
for (let qwe = 1; qwe < 100; qwe++) {
    if ((qwe % 5) == 0 && (qwe % 3) == 0) {
        console.log(qwe, 'FizzBuzz');
    } else if ((qwe % 5) == 0) {
        console.log(qwe, 'Buzz');
    } else if ((qwe % 3) == 0) {
        console.log(qwe, 'Fizz');
    } else {
        console.log(qwe);
    }
}

ostermal 31.10.2019 15:54

Да, помогло, правда я не понял, в чем кардинальная разница между моим и вашим вариантом?

рони 31.10.2019 15:57

ostermal,
ваш вариант, тройка и пятёрка не могут попасть в else if ((qwe%5)==0 && (qwe%3)==0), для них нашлись условия выше, а значит нижнее условие не проверяется.

ostermal 31.10.2019 15:58

Цитата:

Сообщение от рони (Сообщение 514731)
ostermal,
ваш вариант, тройка и пятёрка не могут попасть в else if ((qwe%5)==0 && (qwe%3)==0), для них нашлись условия выше, а значит нижнее условие не проверяется.

А, теперь ясно, спасибо большое

Alexandroppolus 31.10.2019 16:46

недавно на собесе попалась эта хрень)
function fb(n) {
    return (n % 3 ? '' : 'Fizz') + (n % 5 ? '' : 'Buzz') || n;
}


Часовой пояс GMT +3, время: 05:37.