![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Доброго дня, всем. Такой вопрос.
Есть алфавит из трех символов a b c, нужно вывести все возможные комбинации, в смысле abc. Т.е. примено так: aaa aab ... acb .... ccc т.е. 27 их вроде бы получается -------------------- Удалена администрацией форума |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
||||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
cut Пойду, подумаю еще... Видимо, нужно размещение с повторением. 3 элемента по 3 Это сообщение отредактировал(а) BlackRu - 18.7.2014, 17:25 -------------------- Удалена администрацией форума |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
да. есть несложный рекурсивный алгоритм.
|
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
baldina, буду благодарен за любой пример по этой теме.
только на php update: Нашел Это сообщение отредактировал(а) BlackRu - 18.7.2014, 20:50 -------------------- Удалена администрацией форума |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
что-то вроде http://ideone.com/TimRl3
|
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Круто. Я без рекурсии нашел, но ваш вариант интереснее.
Это сообщение отредактировал(а) BlackRu - 19.7.2014, 05:17 -------------------- Удалена администрацией форума |
|||
|
||||
| BlackRu |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Эх, я часто понимаю общий смысл, но не могу вникнуть в чужие скрипты.
Из чужого скрипта. Очень долго медитировал перед этой строчкой:
У меня глаза рабегаются, когда вижу три функции в одной строчке. Кстати, будет ли правильно назвать такую строчку лямбдой? В итоге, чтобы понять, написал так:
Не совсем так, но светлые лучи стали видны. Это сообщение отредактировал(а) BlackRu - 19.7.2014, 12:46 -------------------- Удалена администрацией форума |
||||
|
|||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
это не лямбда, это просто вызовы без использования промежуточных переменных.
лямбда - неименованная функция, обычно выступающая аргументом функции (высшего порядка), здесь же аргументы - просто значения (полученные в результате вызова других функций). очевидно используется нерекурсивный алгоритм, основанный на том, что есть взаимно-однозначное соответствие между искомым множеством и множеством представлений чисел, записанных в позиционной системе счисления по основанию равному мощности алфавита. последовательно строятся все числа, в их представлении цифры заменяются на символы алфавита. base_convert строит представление числа, str_pad дополняет слева нулями, strtr заменяет цифры на символы алфавита Добавлено через 1 минуту и 39 секунд зы. вот в моем примере - лямбда |
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
baldina, Многократно спасибо. Когда переделал, стало понятно.
Это сообщение отредактировал(а) BlackRu - 19.7.2014, 15:57 -------------------- Удалена администрацией форума |
|||
|
||||
| BlackRu |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Я так понял, имеется в виду тут:
-------------------- Удалена администрацией форума |
||||
|
|||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
да
|
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
Я так понимаю лямбда и callback это одно и то же.
Но вот определения, порой, очень расплывчатые. Получается, что под это определение можно подогнать конструкции, которые к лямбде не относятся. -------------------- Удалена администрацией форума |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
есть вполне себе определение: это анонимная функция, обычно объявленная по месту использования, часто допускает замыкания.
в php определено так же, и называется анонимной функцией т.е.
Это сообщение отредактировал(а) baldina - 21.7.2014, 14:02 |
|||
|
||||
| BlackRu |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 14.9.2009 Репутация: нет Всего: 4 |
baldina, спасибо. Очень доходчиво.
Я набрел на такую статью: http://it.kgsu.ru/Lisp/lisp0001.html Она меня и натолкнула на некоторые мысли. Кстати, оттдуа.
Но в php лямбда - этот не совсем то же самое что и в lisp?! -------------------- Удалена администрацией форума |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |