![]() |
#11 |
Участник
|
Цитата:
Сообщение от mazzy
![]() Если честно, то чудовищная реализация, на мой взгляд.
Избыточное вычисление mod и куча лишнего кода. с точки зрения вычислений лучше уж так. X++: #define.FIZZ(3) #define.BUZZ(5) static void FizzBuzzImpl(Args _args) { int i; str fizz; str buzz; ; for (i = 1; i <=100; i++) { fizz = ((i mod #FIZZ) == 0) ? "Fizz" : ""; buzz = ((i mod #BUZZ) == 0) ? "Buzz" : ""; if( fizz || buzz ) { info(strfmt("%1%2 %3", fizz, buzz, i)); } } } Вот только результат не совпадает с указанным в задании. Считаю, что тест по выявлению "не умеющих писать код" работает как надо. Задание Цитата:
Напишите программу, которая выводит на экран числа от 1 до 100. При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», а вместо чисел, кратных пяти — слово «Buzz». Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz»
Цитата:
Fizz 3
Buzz 5 Fizz 6 Fizz 9 Buzz 10 Fizz 12 FizzBuzz 15 Fizz 18 Buzz 20 Fizz 21 Fizz 24 Buzz 25 Fizz 27 FizzBuzz 30 Fizz 33 Buzz 35 Fizz 36 Fizz 39 Buzz 40 Fizz 42 FizzBuzz 45 Fizz 48 Buzz 50 Fizz 51 Fizz 54 Buzz 55 Fizz 57 FizzBuzz 60 Fizz 63 Buzz 65 Fizz 66 Fizz 69 Buzz 70 Fizz 72 FizzBuzz 75 Fizz 78 Buzz 80 Fizz 81 Fizz 84 Buzz 85 Fizz 87 FizzBuzz 90 Fizz 93 Buzz 95 Fizz 96 Fizz 99 Buzz 100 |
|
|
За это сообщение автора поблагодарили: mazzy (5). |