Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   FizzBuzz, делящихся на 5 (но не на 3) (https://javascript.ru/forum/misc/57080-fizzbuzz-delyashhikhsya-na-5-no-ne-na-3-a.html)

jack3dm 18.07.2015 13:26

FizzBuzz, делящихся на 5 (но не на 3)
 
Выразительный Javascript. 2ое издание
стр 43.

Напишите программу, которая выводит через console.log все цифры от 1 до
100, с двумя исключениями. Для чисел, нацело делящихся на 3, она должна выводить ‘Fizz’, а для чисел, делящихся на 5 (но не на 3) – ‘Buzz’.
Когда сумеете – исправьте её так, чтобы она выводила «FizzBuzz» для всех
чисел, которые делятся и на 3 и на 5.

Вот мой код, я не знаю как сделать чтобы выводило правильно Fizz :-?

var num = 1;
for(; num <= 100; num++){
	if(!(num % 3)){
		document.write(num, " = Buzz", "<br />");
	}else if(!(num % 5)){
		document.write(num, " = Fizz",  "<br />");
	}else{
		document.write(num, "<br />");
	}
}



======
Решение:
var num = 1;
for ( ; num < 100; num++ ) {
    if ( num % 5 === 0 && num % 3 === 0 ){
        document.write( num, " = FizzBuzz <br />" )
    } else {
        if ( num%5 === 0 ){
            document.write( num, " = Buzz <br />" );
        } else {
            if ( num%3 === 0 ){
                document.write( num, " = Fizz <br/ >" );
            } else {
                document.write( num, "<br/ >" );
            }
        }
    }
}

KosBeg 18.07.2015 13:55

Цитата:

Сообщение от jack3dm
Напишите программу, которая выводит через console.log все цифры от 1 до
100, с двумя исключениями. Для чисел, нацело делящихся на 3, она должна выводить ‘Fizz’, а для чисел, делящихся на 5 (но не на 3) – ‘Buzz’.

если я правлильно понял то нужно так
<script>
var num = 1;
for(; num <= 100; num++){
	if((num % 3) == 0){
		document.write(num, " = Fizz", "<br />");
	}else if((num % 5) == 0){
		document.write(num, " = Buzz",  "<br />");
	}else{
		document.write(num, "<br />");
	}
}
</script>

PS: а "15 = Fizz" это правильно?

KosBeg 18.07.2015 14:00

Цитата:

Сообщение от jack3dm
Когда сумеете – исправьте её так, чтобы она выводила «FizzBuzz» для всех
чисел, которые делятся и на 3 и на 5.

костыльный вариант но работает
<script>
var num = 1;
for(; num <= 100; num++){
	if((num % 3) == 0 && (num % 5) == 0 ){
		document.write(num, " = FizzBuzz", "<br />");
	}else{
		document.write(num, "<br />");
	}
}
</script>

jack3dm 18.07.2015 14:21

Да вот как раз и прикол что число 15 не должно попадать.
То есть "делящихся на 5 (но не на 3) – ‘Buzz’"
Число 15 делится на 3, как и 30, 45, 60, 75, 90.
Вот и думаю.
Кстати да, я что то провтыкал на счет "=="
писал
num % 5
вместо
num % 5 == 0

Makarov 18.07.2015 14:26

Два парня, впервые увидевшие fizzbuzz и вместе выясняющие как его решать, у меня на глаза ща навернутся слезы умиления =)

jack3dm 18.07.2015 14:28

Ну ты это) Макаров) помоги нет?))

Makarov 18.07.2015 14:30

jack3dm, Так эта задача проста как пять копеек, и ее важно написать самому, если я ща решение напишу, какой смысл в ней будет?)

Ну то есть не нужно здесь тонкостей языка вообще, нужно составить простейший алгоритм. А умение составлять алгоритмы самому для программиста ну очень важно.

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

jack3dm 18.07.2015 14:59

Да понятно что здесь нужно использовать
&& в
}else if( num % 5 == 0){
document.write(num, " = Buzz", "<br />");
}

Но как бы я не записывал всё равно не работает.
Вот например:
<script>
var num = 1;
for(; num <= 100; num++){
	if(num % 3 == 0){
		document.write(num, " = Fizz", "<br />");
	}else if( num % 5 == 0 && num % 3 == 0){
		document.write(num, " = Buzz",  "<br />");
	}
	else{
		document.write(num, "<br />");
	}
</script>
}


Я знаю что проблема в
else if( num % 5 == 0 && num % 3 == 0)
Но как её правильно записать я не знаю.

KosBeg 18.07.2015 15:30

я новичок, мне простительно)
Цитата:

Сообщение от Makarov
впервые увидевшие fizzbuzz

я вообще никаких книг по js не читал, поэтому таких заданий не встречал,
те задания слишком уж учебные(но я не всегда могу их решить, но при этом решаю задания и посложнее)

jack3dm 18.07.2015 15:34

Кос лови)
Задачи по javascript из книги "Выразительный javascript"

http://www.itmathrepetitor.ru/zadach...jj-javascript/


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