| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Нетривиальные решения. |
| Автор: soloweb 30.11.2007, 13:39 |
| Прошу написать каки нибудь красивые нетривиальные решения которые вам пришлось реализовывать. Очень хочется набратся опыта посмотреть на разных профи и их решения каких-то алгоритмов Можно писать как кодом так и словами (документированно) Вот пример: Задача: Нужно реализовать обмен значениями 2-х перменных (есть $a = 10 и $b = 20 ) надо чтобы $a=20 а $b=10 и при этом без участия сторонних переменных. Вот что-то на подобии. Прошу идеи в студию Заранее спасибо. |
| Автор: SamDark 30.11.2007, 14:16 | ||
| soloweb, Это просто задачи. Никакого отношения к реальному коду они не имеют. p.s. по задаче:
|
| Автор: soloweb 30.11.2007, 14:25 | ||
Хорошо а если вместо 10 и 20 возмем $a="k" а $b="p" то тогда что ? |
| Автор: SamDark 30.11.2007, 14:34 |
| soloweb, Тогда http://ru2.php.net/manual/ru/function.ord.php и http://ru2.php.net/manual/ru/function.chr.php |
| Автор: skyboy 30.11.2007, 14:35 |
| soloweb, добавятся функции преобразования символа - в код символа и обратно. и все. со строками - сложнее, так как для строк нет обратимых операций(для чисел таких немало - "+" и "-", "*" и "/", "^" и "ln", исключающее "ИЛИ" ). только с промежуточной переменной. |
| Автор: soloweb 30.11.2007, 14:44 | ||
Да прошу не забывать, то что символы по коду в ASCII тоже целые числа |
| Автор: WolfON 30.11.2007, 15:35 | ||
|
| Автор: SamDark 30.11.2007, 16:00 |
| Из той же оперы: 1. Дано целое число. Узнать является ли оно целой степенью двойки. 2. Дана 32-битная переменная. Обратить в ней порядок бит. А вот уже более практическая: Обойти дерево без рекурсии. |
| Автор: CyClon 1.12.2007, 17:58 |
| Если интересуют задачи, вот, большой сборник: http://g6prog.narod.ru Был на олимпиаде, так и не фтыкнул, как решать две задачи, нада будет потом запостить, интересно все-таки |
| Автор: Timok 2.12.2007, 01:21 | ||||||||
--- издвините, погнал |
| Автор: Glip 3.12.2007, 17:50 |
http://http://www.refactoring.com/catalog/replaceRecursionWithIteration.html ??? |
| Автор: SamDark 3.12.2007, 19:40 |
| Glip, Почти. См. обход в ширину. |
| Автор: soloweb 4.12.2007, 18:31 |
| по поводу обхода! Можно ссылку на подробную инструкцию желательно на русском |
| Автор: SelenIT 9.12.2007, 01:49 | ||||
Извратное однострочное решение
|