- 1
for($i=0;$i<=100;$i++)echo(!$i?$i:($i%3==0&&$i%5==0?'FizzBuzz':($i%3==0?'Fizz':($i%5==0?'Buzz':$i)))).'<br>';
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+46
for($i=0;$i<=100;$i++)echo(!$i?$i:($i%3==0&&$i%5==0?'FizzBuzz':($i%3==0?'Fizz':($i%5==0?'Buzz':$i)))).'<br>';
FizzBuzz - мое решение.
bormand 20.11.2012 18:36 # +3
1) Нахрена тут 0?
2) Ноль как бы делится на 3 и на 5, поэтому вместо него надо FizzBuzz.
3) Я бы на месте HR послал пишущего в таком стиле куда подальше.
Darkling 06.02.2017 13:24 # 0
bormand 06.02.2017 16:53 # 0
Darkling 06.02.2017 16:55 # 0
bormand 06.02.2017 17:07 # +2
Darkling 06.02.2017 17:14 # 0
Время отработки: 710 мс на топ тесте.
Крестово:
Время отработки: 120 мс на топ тесте.
Беда в том, что у меня никак не получается правильно сократить формулу с трёх одинаковых расчётов до одного линейного уравнения. Возможно, конечно, мне следует не сокращать, а наоборот распаралелить некоторые вычисления, чтобы уменьшить время расчётов ещё немного, но я рукожоп, походу.
Математически сведённая формула (7 * n * n + n - 8) / 30 даёт неверные результаты. Я не понимат. :с
bormand 06.02.2017 17:34 # +1
Там же целочисленные деления. Нельзя взять и выкинуть floor.
Darkling 06.02.2017 17:51 # 0
Вот с формулой для этих расхождений у меня и проблемы.
Vasiliy 20.11.2012 18:39 # −1
Fai 20.11.2012 21:44 # +3
Vasiliy 20.11.2012 21:55 # −3
Fai 20.11.2012 22:43 # +2
Fai 20.11.2012 23:37 # +2
roman-kashitsyn 20.11.2012 23:56 # +3
Можно нагородить гораздо больше, если приплести литералы Чёрча или числа Пеано
Fai 21.11.2012 01:34 # +1
Vasiliy 21.11.2012 10:22 # +6
Fai 21.11.2012 12:18 # +5
LispGovno 21.11.2012 12:29 # 0
И это не смотря на то, что я этого никогда не делаю
Fai 21.11.2012 13:01 # 0
Минусы красные. Значит красный текст набирает много минусов.
Согласно теории, оценка этого поста всегда будет находиться на нуле.
bormand 20.11.2012 22:03 # +3
Fai 20.11.2012 22:08 # +4
inkanus-gray 21.11.2012 03:05 # +1
Fai 21.11.2012 04:34 # 0
- implode
- array_map
- use ($threes)
- preg_filter
- .=
ИМХО, самый читабельный вариант будет всегда с использованием пачки if-ов.
govnomonad 21.11.2012 12:14 # +3
man pattern-matching
Fai 21.11.2012 12:19 # +2
roman-kashitsyn 21.11.2012 13:09 # 0
Fai 21.11.2012 13:14 # 0
Это по-настоящему красивое, не перегруженное и понятное описание класса.
После хаскеля буду смотреть скалу.
roman-kashitsyn 21.11.2012 14:50 # 0
Scriabin Symphony #3: Divine Poem
inkanus-gray 20.11.2012 20:22 # +1
inkanus-gray 20.11.2012 20:30 # 0
inkanus-gray 20.11.2012 20:40 # +3
guest 20.11.2012 20:35 # +3
zim 21.11.2012 13:15 # +3
bormand 21.11.2012 13:35 # +3
Fai 21.11.2012 13:44 # +3
А весь алгоритм изолируй в стратегию.
bormand 21.11.2012 13:48 # +2
Vasiliy 21.11.2012 13:58 # +2
Fai 21.11.2012 14:16 # +1
Vasiliy 21.11.2012 14:22 # +1
nicksevenfold 29.11.2012 15:14 # +1