Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.07.2015, 13:26
Аватар для jack3dm
Аспирант
Отправить личное сообщение для jack3dm Посмотреть профиль Найти все сообщения от jack3dm
 
Регистрация: 05.04.2015
Сообщений: 52

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/ >" );
            }
        }
    }
}

Последний раз редактировалось jack3dm, 18.07.2015 в 18:59. Причина: Решение
Ответить с цитированием
  #2 (permalink)  
Старый 18.07.2015, 13:55
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от 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" это правильно?
Ответить с цитированием
  #3 (permalink)  
Старый 18.07.2015, 14:00
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от 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>
Ответить с цитированием
  #4 (permalink)  
Старый 18.07.2015, 14:21
Аватар для jack3dm
Аспирант
Отправить личное сообщение для jack3dm Посмотреть профиль Найти все сообщения от jack3dm
 
Регистрация: 05.04.2015
Сообщений: 52

Да вот как раз и прикол что число 15 не должно попадать.
То есть "делящихся на 5 (но не на 3) – ‘Buzz’"
Число 15 делится на 3, как и 30, 45, 60, 75, 90.
Вот и думаю.
Кстати да, я что то провтыкал на счет "=="
писал
num % 5
вместо
num % 5 == 0
Ответить с цитированием
  #5 (permalink)  
Старый 18.07.2015, 14:26
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Два парня, впервые увидевшие fizzbuzz и вместе выясняющие как его решать, у меня на глаза ща навернутся слезы умиления =)
Ответить с цитированием
  #6 (permalink)  
Старый 18.07.2015, 14:28
Аватар для jack3dm
Аспирант
Отправить личное сообщение для jack3dm Посмотреть профиль Найти все сообщения от jack3dm
 
Регистрация: 05.04.2015
Сообщений: 52

Ну ты это) Макаров) помоги нет?))
Ответить с цитированием
  #7 (permalink)  
Старый 18.07.2015, 14:30
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

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

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

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

Последний раз редактировалось Makarov, 18.07.2015 в 14:34.
Ответить с цитированием
  #8 (permalink)  
Старый 18.07.2015, 14:59
Аватар для jack3dm
Аспирант
Отправить личное сообщение для jack3dm Посмотреть профиль Найти все сообщения от jack3dm
 
Регистрация: 05.04.2015
Сообщений: 52

Да понятно что здесь нужно использовать
&& в
}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)
Но как её правильно записать я не знаю.
Ответить с цитированием
  #9 (permalink)  
Старый 18.07.2015, 15:30
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

я новичок, мне простительно)
Сообщение от Makarov
впервые увидевшие fizzbuzz
я вообще никаких книг по js не читал, поэтому таких заданий не встречал,
те задания слишком уж учебные(но я не всегда могу их решить, но при этом решаю задания и посложнее)
Ответить с цитированием
  #10 (permalink)  
Старый 18.07.2015, 15:34
Аватар для jack3dm
Аспирант
Отправить личное сообщение для jack3dm Посмотреть профиль Найти все сообщения от jack3dm
 
Регистрация: 05.04.2015
Сообщений: 52

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

http://www.itmathrepetitor.ru/zadach...jj-javascript/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск