Re[4]: ПОЛЬЗУЙТЕСЬ ПОИСКОМ!
От: Less  
Дата: 22.09.04 08:52
Оценка:
Здравствуйте, Laurel, Вы писали:

L>Здравствуйте, Konstantin Nikolaenko, Вы писали:


БП>>>>Правильный ответ 195


KN>>Оригинал задачи (http://www.itasoftware.com/careers/programmers-archive.php)


KN>>Так что, "сращивать" девятки нельзя (типа 99, 999 ...). А тут уже понакодировали алгоритмов с учетом "сращивания".


L>Без сращивания и говорить-то не о чем.

L>Я дал студентам лабу про девятки (курс про перебор), а чтобы с RSDN не таскали чужой код, несколько дополнительных ограничений ввел, в том числе запрет "сращивания".
L>Сделали за пару дней.


Тоже мне...
Имея готовое програмное решение, которое тут проскакивало, достаточно легко его упростить и выбросить лишний цикл перебора срощенных элементов.

Студенты — народ изобретательный, особенно если это будущие инженеры и если они слишком ленивые чтобы что-то делать
Re[5]: ПОЛЬЗУЙТЕСЬ ПОИСКОМ!
От: Кодт Россия  
Дата: 22.09.04 09:52
Оценка:
Здравствуйте, Less, Вы писали:

L>Студенты — народ изобретательный, особенно если это будущие инженеры и если они слишком ленивые чтобы что-то делать


А для этих целей есть усложнения задачи. Например, вместо девяток — цифры 1..9.
Или пусть построят функцию: минимальное число, непредставимое выражением из одной 1 / двух 2 и т.п.
Перекуём баги на фичи!
Re[5]: ПОЛЬЗУЙТЕСЬ ПОИСКОМ!
От: Laurel  
Дата: 23.09.04 07:57
Оценка:
Здравствуйте, Less, Вы писали:

L>>Сделали за пару дней.


L>Тоже мне...

L>Имея готовое програмное решение, которое тут проскакивало, достаточно легко его упростить и выбросить лишний цикл перебора срощенных элементов.

L>Студенты — народ изобретательный, особенно если это будущие инженеры и если они слишком ленивые чтобы что-то делать


Ленивые, конечно, поэтому я внимательно отслеживаю, чтобы не сдавались программы "похожие" на появляющиеся здесь...
... << RSDN@Home 1.1.3 stable >>
Re[6]: Девять девяток
От: Трурль  
Дата: 10.11.04 14:58
Оценка: 5 (1) :)
А вот самое красивое решение, что я видел
a:*|8{x,,?,//x{x y/:'|x}/+;*;%)}/,-9 9.0
f:{+/j=!#j@:<j:?j@:&x=j:_ x@:&~0>x}
f a

195
Re[7]: Девять девяток
От: Tan4ik Россия  
Дата: 10.11.04 15:09
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>А вот самое красивое решение, что я видел

Т>a:*|8{x,,?,//x{x y/:'|x}/+;*;%)}/,-9 9.0
Т>f:{+/j=!#j@:<j:?j@:&x=j:_ x@:&~0>x}
Т>f a

Т>195


А!!!! Какой ужас!!!
Краткость — не всегда сестра таланта.
---
С уважением,
Лазарев Андрей
Re[7]: Девять девяток
От: Кодт Россия  
Дата: 10.11.04 16:00
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>А вот самое красивое решение, что я видел

Т>a:*|8{x,,?,//x{x y/:'|x}/:(+;*;%)}/,-9 9.0
Т>f:{+/j=!#j@:<j:?j@:&x=j:_ x@:&~0>x}
Т>f a

Т>195

На чём это?
Перекуём баги на фичи!
Re: Девять девяток
От: kof  
Дата: 10.11.04 18:30
Оценка: -1
Здравствуйте, brainhaze, Вы писали:

B>Несколько лет назад увидел объявление о приеме на работу: всякий, предложивший решение на нижеследующую задачу (математическое или программное), будет безоговорочно принят. Так вот она, задача:


B>Назовите наименьшее целое число, которое нельзя выразить девятью девятками. Возможно использование арифметических операций (+, -, *, /) и скобок «(» и «)» для выражения чисел.


B>Вот так вот элегантно. Я эту задачку оставил на форуме компании, и скоро народ стал предлагать решения. Можно руководствоваться перебором (начиная с нуля, выражать все последующие целые), но на удивление большие числа можно получить таким образом. Некоторые варганили программки на Яве, некоторые пытались вывести решение математически.


B>Идея девяти девяток в'елась в подсознание. Об этом говорили за обедом, или встречаясь на улице. Много месяцев спустя в голову приходили новые идеи и алгоритмы, но решения так и не нашлось. Задачка оказалась редкостным «мозговым вирусом».


B>И это в технической фирме. Которая если и не первая, то по крайней мере в первой пятерке в своей области. А какая-то непонятная SW фирма такого требует только для приема на работу! Почему-то чувствуешь себя очень тупым и ненужным.


B>А вы как думаете, какое наименьшее число нельзя выразить подобным образом?


B>http://brainhaze.blogspot.com/2004/09/blog-post_13.html


9-9-9-9-9-9-9-9-9-1
Re: Девять девяток
От: kof  
Дата: 10.11.04 18:36
Оценка: -1
Здравствуйте, brainhaze, Вы писали:

о девяти девятках
по-моему меньше при помощи арифметичских операций нельзя

9-(9*9*9*9*9*9*9*9)

9-(9*9*9*9*9*9*9*9)-1 = нужное число
Re[2]: Девять девяток
От: Кодт Россия  
Дата: 11.11.04 09:28
Оценка:
Здравствуйте, kof, Вы писали:

kof>Здравствуйте, brainhaze, Вы писали:


kof>о девяти девятках

kof>по-моему меньше при помощи арифметичских операций нельзя

А можно перед тем, как присылать свой ответ, остальные ответы прочитать? Там уже было и насчёт целых чисел вообще, и насчёт неотрицательных тоже.
Перекуём баги на фичи!
Re[8]: Девять девяток
От: Трурль  
Дата: 11.11.04 09:44
Оценка:
Здравствуйте, Кодт, Вы писали:

К>На чём это?

Это K, потомок APL и J (http://www.kx.com)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.