gifts2017

Зачем изобретать ВЕЛОСИПЕД или как переставить символы ?

Опубликовал Юрий Тимофеев (Tatitutu) в раздел Программирование - Практика программирования

Как написать алгоритм перестановки всех символов в строке, чтобы
получить все уникальные (возможные) значения перестановок (одинаковые символы считать за один).

Как написать алгоритм перестановки всех символов в строке, чтобы
получить все уникальные (возможные) значения перестановок.

Пример : слово Юзер

Возможных вариантов - 24

(математика n=1*2*3*4)


Юзер зЮер еЮзр рЮзе
Юзре зЮре еЮрз рЮез
Юезр зеЮр езЮр рзЮе
Юерз зерЮ езрЮ рзеЮ
Юрзе зрЮе ерЮз реЮз
Юрез зреЮ ерзЮ резЮ


К примеру у слова ВЕЛОСИПЕД  их 362880

(а уникальных 40320 , так Е повторяется два раза - по умолчанию буду считать ее за 1 символ т.е варианты ЕЕ=Е)


С чего сам вопрос возник?

"Крошка сын к отцу пришел и спросила кроха..." как получить все варианты перестановок слова ШКОЛА. 

И вспомнилась данная история: когда на собеседовании принимали молодых (только начинающих !!! не путать) программистов

я всегда считал : чтобы быть программистом нужен - какой то особый дар, как у художника или музыканта (другими словами не всем дано)

как проверить его потенциал, спросить знание платформы, языка - видел зубрили наизусть, а тольку иногда 0.

так было такое задание (сабж): важен подход к решению задачи, правильность результата, скорость работы.

Вот мне интересны варианты решения данной задачи (их много - сам видел и знаю 3 )

"Вещь"  может и не имеет практического применения, но МОЗГОДЕР - хороший.

Попробуйте сами на досуге написать вариант решения.

 

 

Скачать файлы

Наименование Файл Версия Размер
Перестановка.ert 66
.ert 21,50Kb
14.02.12
66
.ert 21,50Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Олег Каратаев (Kyrales) 08.07.09 04:25
Толком ниче не понял...видимо утро потому что....но за такого рода мысли в кризис + :))
2. Айрат (Craig) 08.07.09 07:47
Видать заняться нечем))) Это ж надо было придумать такую задачу гы))) (+) за то что повеселил! Ну а теперь жду комментария – как такое в голову пришло?
3. Александр Рытов (Арчибальд) 08.07.09 08:10
Описание в обработке - это круто ...
Еще хочу обработку, чтобы делила "столбиком". С распечаткой.
4. Игорь Исхаков (Ish_2) 08.07.09 08:49
В теме нужно прямо указать , что количество сиволов в исходной строке
ограничено : не более 9. Существенное упрощение.
При 10 символах в строке алгоритм придется менять.

Возможно , логичней также сделать в исходном слове неразличимость по регистру : ИсходноеСлово = ВРег(ИсходноеСлово).
5. Юрий Тимофеев (Tatitutu) 08.07.09 09:17
(2) "Крошка сын к отцу пришел и спросила кроха..." как получить все варианты перестановок слова ШКОЛА. - я же написал в описании.

(3) Спасибо. Маленький каприз - это про описание ))),через полчаса будет Вам такая обработка

(4) Нет при 10 символах (еще не сильно придется менять так как, как раз с таким подходом 10 символов и есть 0,1,2,3,4,5,6,7,8,9.
Вот про это я и писал - своеобразный подход к решению задачи (один из вариантов - если не помнишь математику и формулы, но решить нужно)
ИсходноеСлово = ВРег(ИсходноеСлово) - впринципе согласен , так как Ю и ю для программы это разные символы.

А Вы попробуйте предложить другой вариант задачи (на 8-ке проще сделать)
6. Игорь Исхаков (Ish_2) 08.07.09 09:26
(5) Это не своеобразный подход , а ограничение , которое обычно явно указывают.
На 8-ке не осилю.
7. Oskar (oskar) 08.07.09 09:56
(5)прикольно, позновательно
8. Юрий Тимофеев (Tatitutu) 08.07.09 10:03
(6) позволь не согласится с тобой
Своебразный подход - заключается в данном случае в том

порядковый номер символа в строке - приравниваем к цифре
(проверяется уникальность символов в строке,лишние отбрасываются)
(да строка длинной 9 знаков и это будет 987 654 321 (макс число))
Например: слово ДОМ = 123
значит что бы найти все варианты
нужно перебрать с 123 по 321
и проверить чтобы не было задвоение символов (типа ДДО)
т.е. в новом слове должны быть все символы по 1 разу.
123 132 213 231 312 321
(идет прирост 9 81 18 81 9) но закономерность не смог вспомнить или вычислить - может кто знает формулу?
9. Игорь Исхаков (Ish_2) 08.07.09 10:37
(8) Хорошо. Сформулируем иначе.
При объявленном ограничении возможен такой своеобразный подход.

Любопытно. Итак , ряд чисел , упорядоченных по возрастанию.
Кажде число составлено путем перестановок цифр из множества (0.,9).
Известна ли реккурентня формула для определения каждого члена ряда ?

Предположительный ответ : нет.
10. Игорь Исхаков (Ish_2) 08.07.09 10:48
+9 Исправление :
Кажде число составлено путем перестановок N неповторяющихся цифр из множества (0.,9).
11. Юрий Тимофеев (Tatitutu) 08.07.09 10:57
(10) ну... еще чуть - чуть ))) Давай свой алгоритм.
Этот вариант - решен в ЛОБ. Нужен научный подход
12. Игорь Исхаков (Ish_2) 08.07.09 10:58
Чего чуть - чуть ?
Позиция моя обозначена сразу : не осилю.
13. Юрий Тимофеев (Tatitutu) 08.07.09 11:04
(12) я вот помню учил (я имею ввиду про научный подход)...
а где посмотреть не помню (Яндекс тоже меня не понимает)
14. Игорь Исхаков (Ish_2) 08.07.09 11:07
Яндекс понимает "форум по математике."
Сформулируй вопрос и вперед.
15. Александр Рытов (Арчибальд) 08.07.09 11:22
Функция СтрПерестановок(Строчка, Префикс="")
Рез="";
лСтр=Строчка;
Дл=СтрДлина(лСтр);
Если Дл=1 Тогда
Рез = Строчка;
Иначе
Для й=1 по Дл Цикл
Сим=Лев(лСтр,1);
Арг=Сред(лСтр,2);
Рез=Рез+Префикс+СтрПерестановок(Арг,Сим);
лСтр=Арг+Сим;
КонеЦикла;
КонецЕсли;
Возврат Рез;
КонецФункции

Останется поделить полученную строку на кусочки требуемой длины..
16. Юрий Тимофеев (Tatitutu) 08.07.09 11:33
(15) пока сыровато....не взлетает

Параметр : Слон , "/"
возврат
/слнлосолонснонл/лосонлнонслснсо/онлнсоснслолслн/нсослнлслон­олос
17. Александр Венгер (venger) 08.07.09 12:00
(0) Так можно и довести до возможности играть с компом в балду или как там эта игра называется (из слова слова составлять)? Доработать алгоритм, прикрутить проверку (можно через и-нет) слово ли это, а не просто набор символов и вперед... Уровни сложности там еще забахать и будет игруха ниче так..
18. Юрий Тимофеев (Tatitutu) 08.07.09 12:15
(17) Идея хорошая. Но не нова
игра Балда для 1С 7.7. есть - разработчик spirit@kitcom.ru
но там принцип другой - изначально есть словарь (база данных слов)
19. Юрий (Kurt) 08.07.09 13:11
Теория вроде здесь есть
http://ru.wikipedia.org/wiki/Перестановка

А вот здесь раздел более глобальный
http://ru.wikipedia.org/wiki/Категория:Комбинаторика

Вот еще про комбинаторику
http://combinatorica.narod.ru/third.html

Посмотрел я на эти значки и подмножества... ужос... это как заново изучать... и даже не помню это "высшая математика" или нет?
20. Юрий (Kurt) 08.07.09 13:30
Перестановки. Факториал
http://mmmf.math.msu.su/archive/19992000/spivak67/s_comb.html

Что обидно :( никто не ставит задачи именно получить все возможные значения. В теории ставят задачу просто посчитать количество возможных вариантов, а это совсем разные вещи.

1. Так что по-моему решать придется в лоб, прямым пересчётом, например от 1234 до 4321 (для 4х элементов).

2. Можно только попробовать откидывать лишние варианты по контрольной сумме, например 1+2+3+4=10 (в любой их комбинации) Возможно, что такая проверка, да еще при большем количестве элементов наоборот, только затормозит процесс???

3. Но этого еще не достаточно. "Подходящий" вариант надо дополнительно проверять на вхождение в него всех элементов, т.к. могут возникать левые числа 0+6+0+4=10, прокатывающие под контрольную сумму :(((

Т.е. выполнять п.3 для всех чисел исключив п.2.
4. Выгрузив результат в таблицу значений, свернуть её, тем самым избавимся от одинаковых вариантов в случае повторяющихся букв.

Очень медленный вариант решения в лоб. Другого пока не вижу.
21. Юрий Тимофеев (Tatitutu) 08.07.09 13:45
Нашел !!!! ВАРИАН скорость супер - совсем другое решение
сейчас вылоду. Неограниченная длина строки. Ура=я умничка
(20) Возможно будет ВСЕ ВАРИАНТЫ
22. Юрий (Kurt) 08.07.09 14:13
(21) Ну таки опишите алгоритм :-)
Всё таки интересно.
23. Александр Рытов (Арчибальд) 08.07.09 15:15
Во как. Я просил в 3 не перестановки, а именно деление чисел. Как в четвертом классе учат...
24. Юрий Тимофеев (Tatitutu) 08.07.09 15:57
Вот я и сделал перестановкой. Завтра выложу - сегодня не успеваю уже.
Затык произошел если больше 6 символов - двоится начали (разбираюсь почему)
25. Poppy (poppy) 08.07.09 17:38
http://infostart.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=10022&action=download

Обработка под восьмерку. Используется рекурсия.
lavrenko81; kuimov_81; Tatitutu; +3 Ответить 2
26. Юрий Тимофеев (Tatitutu) 09.07.09 09:52
Всем спасибо ! Особенно (25)
отличный вариант (обработку не буду выкладывать, т.к кто первый встал того и тапки - poppy (с) )

Вот код кому нужно тот поймет:
АВТОР poppy (с)
роцедура Перестановка(Слово, Префикс, ДлинаСлова)
Если ДлинаСлова = 1 Тогда
Ном = Ном+1;
Сообщить(Строка(Ном) + " " + Префикс+Слово);
Возврат;
КонецЕсли;

Для ии = 1 По ДлинаСлова Цикл
НовоеСлово = Лев(Слово, ии-1) + Сред(Слово, ии+1);
Перестановка(НовоеСлово, Префикс + Сред(Слово, ии, 1), ДлинаСлова-1);
КонецЦикла;

КонецПроцедуры

Процедура Проба()
Исходное=СокрЛП(НачальноеСлово);
ДлинаСлова=СтрДлина(Исходное);
Перестановка(Исходное,"",ДлинаСлова);
КонецПроцедуры
27. Александр Рытов (Арчибальд) 09.07.09 16:22
(15,26)
Функция СтрПерестановок(Строчка,Префикс="")
Рез="";
лСтр=СокрЛП(Строчка);
Дл=СтрДлина(лСтр);
Если Дл=0 Тогда
Рез = Префикс;
Иначе
Для й=1 по Дл Цикл
Сим=Сред(лСтр,й,1);
Арг=Лев(лСтр,й-1)+Сред(лСтр,й+1);
Рез=Рез+СтрПерестановок(Арг,Префикс+Сим);
КонецЦикла;
КонецЕсли;
Возврат Рез;
КонецФункции

//*******************************************
Процедура Сформировать()
Сообщить(СтрПерестановок(тхт));
КонецПроцедуры

Теперь летает... Переставил слово одно...
28. Александр Рытов (Арчибальд) 09.07.09 16:24
Посмотрел - одинаково...
Tatitutu; +1 Ответить
29. Алексей Константинов (alexk-is) 09.07.09 20:26
Код
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   ДлинаСлова = СтрДлина(Слово);
   Если ДлинаСлова = 0 Тогда
      Возврат;
   КонецЕсли;
   
   МассивБукв = Новый Массив(ДлинаСлова);
   
   // Разбросаем слово по массиву
   Для Индекс = 0 По МассивБукв.ВГраница() Цикл
      МассивБукв[Индекс] = Сред(Слово, Индекс + 1, 1);
   КонецЦикла; 
   
   Перебор("", МассивБукв);
   
КонецПроцедуры

Процедура Перебор(НачалоСтроки, МассивБукв)
   
   КоличествоБукв = МассивБукв.Количество();
   
   Если КоличествоБукв = 1 Тогда
      Сообщить(НачалоСтроки + МассивБукв[0]);
   Иначе
      РазмерМассива = МассивБукв.ВГраница();
      Для Индекс = 0 По РазмерМассива Цикл
         СледующийСимвол = МассивБукв[Индекс];
         
         // Копирование массива
         НовыйМассив = Новый Массив(КоличествоБукв);
         Для Индекс2 = 0 По РазмерМассива Цикл
            НовыйМассив[Индекс2] = МассивБукв[Индекс2];
         КонецЦикла;
         НовыйМассив.Удалить(Индекс);
         
         Перебор(НачалоСтроки + СледующийСимвол, НовыйМассив);
      КонецЦикла;
   КонецЕсли;
      
КонецПроцедуры
Показать полностью
Tatitutu; +1 Ответить
30. Юрий Тимофеев (Tatitutu) 09.07.09 21:01
(28,29) Молодцы !!! Спасибо огромное - думаю и вам приятно было решить эту с виду простую задачку. Есть еще одно оригинальное решение - я в описании сразу написал - знаю 3.
31. Алексей Константинов (alexk-is) 09.07.09 22:57
Код
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   ДлинаСлова = СтрДлина(Слово);
   Если ДлинаСлова = 0 Тогда
      Возврат;
   КонецЕсли;
   
   ТаблицаБукв = Новый ТаблицаЗначений();
   ТаблицаБукв.Колонки.Добавить("Буква", 
      Новый ОписаниеТипов("Строка",, 
      Новый КвалификаторыСтроки(1)));
   
   СтрокаСлово = "";
   СтрокаИз = "";
   СтрокаГде = "";
   
   // Разбросаем слово по таблице
   Для Индекс = 1 По ДлинаСлова Цикл
      НоваяСтрока = ТаблицаБукв.Добавить();
      НоваяСтрока.Буква = Сред(Слово, Индекс, 1);
      
      Если Индекс = ДлинаСлова Тогда
         // Хвостики
         СтрокаСлово = СтрокаСлово + 
             "ТаблицаБукв" + Индекс + ".Буква";
         СтрокаИз = СтрокаИз + "
         |   ТаблицаБукв КАК ТаблицаБукв" + Индекс;
      Иначе
         СтрокаСлово = СтрокаСлово + 
            "ТаблицаБукв" + Индекс + ".Буква + ";
         СтрокаИз = СтрокаИз + "
         |   ТаблицаБукв КАК ТаблицаБукв" + Индекс + ",";
      КонецЕсли;
      
      Для Индекс2 = Индекс + 1 По ДлинаСлова Цикл
         Если Индекс = 1 и Индекс2 = 2 Тогда
            СтрокаГде = СтрокаГде + "
            |   ТаблицаБукв" + Индекс + 
               ".Буква <> ТаблицаБукв" + 
               Индекс2 + ".Буква"
         Иначе
            СтрокаГде = СтрокаГде + "
            |   И ТаблицаБукв" + Индекс + 
            ".Буква <> ТаблицаБукв" + 
            Индекс2 + ".Буква"
         КонецЕсли;
      КонецЦикла;
   КонецЦикла; 
   
   Запрос = Новый Запрос(
   "ВЫБРАТЬ
   |   ТаблицаБукв.Буква
   |ПОМЕСТИТЬ ТаблицаБукв
   |ИЗ
   |   &ТаблицаБукв КАК ТаблицаБукв
   |;
   |
   |//////////////////////////////////////////
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   " + СтрокаСлово + " КАК Слово
   |ИЗ" + СтрокаИз + "
   |ГДЕ" + СтрокаГде);
   
   Запрос.УстановитьПараметр("ТаблицаБукв", ТаблицаБукв);
   Результат = Запрос.Выполнить().Выбрать();
   
   Пока Результат.Следующий() Цикл
      Сообщить(Результат.Слово);
   КонецЦикла;
   
КонецПроцедуры
Показать полностью
32. Алексей Константинов (alexk-is) 09.07.09 23:13
Поторопился :)
Добавил проверку на дублирующиеся символы.
Код
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   ДлинаСлова = СтрДлина(Слово);
   Если ДлинаСлова = 0 Тогда
      Возврат;
   КонецЕсли;
   
   ТаблицаБукв = Новый ТаблицаЗначений();
   ТаблицаБукв.Колонки.Добавить("Буква", 
      Новый ОписаниеТипов("Строка",, 
      Новый КвалификаторыСтроки(1)));
   
   СтрокаСлово = "";
   СтрокаИз = "";
   СтрокаГде = "";
   
   // Разбросаем слово по таблице
   Для Индекс = 1 По ДлинаСлова Цикл
      НоваяСтрока = ТаблицаБукв.Добавить();
      НоваяСтрока.Буква = Сред(Слово, Индекс, 1);
   КонецЦикла;
   ТаблицаБукв.Свернуть("Буква");
   ДлинаСлова = ТаблицаБукв.Количество();
      
   // Это для запроса
   Для Индекс = 1 По ДлинаСлова Цикл
      Если Индекс = ДлинаСлова Тогда
         // Хвостики
         СтрокаСлово = СтрокаСлово + 
             "ТаблицаБукв" + Индекс + ".Буква";
         СтрокаИз = СтрокаИз + "
         |   ТаблицаБукв КАК ТаблицаБукв" + Индекс;
      Иначе
         СтрокаСлово = СтрокаСлово + 
            "ТаблицаБукв" + Индекс + ".Буква + ";
         СтрокаИз = СтрокаИз + "
         |   ТаблицаБукв КАК ТаблицаБукв" + Индекс + ",";
      КонецЕсли;
      
      Для Индекс2 = Индекс + 1 По ДлинаСлова Цикл
         Если Индекс = 1 и Индекс2 = 2 Тогда
            СтрокаГде = СтрокаГде + "
            |   ТаблицаБукв" + Индекс + 
               ".Буква <> ТаблицаБукв" + 
               Индекс2 + ".Буква"
         Иначе
            СтрокаГде = СтрокаГде + "
            |   И ТаблицаБукв" + Индекс + 
            ".Буква <> ТаблицаБукв" + 
            Индекс2 + ".Буква"
         КонецЕсли;
      КонецЦикла;
   КонецЦикла; 
   
   Запрос = Новый Запрос(
   "ВЫБРАТЬ
   |   ТаблицаБукв.Буква
   |ПОМЕСТИТЬ ТаблицаБукв
   |ИЗ
   |   &ТаблицаБукв КАК ТаблицаБукв
   |;
   |
   |//////////////////////////////////////////
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   " + СтрокаСлово + " КАК Слово
   |ИЗ" + СтрокаИз + "
   |ГДЕ" + СтрокаГде);
   
   Запрос.УстановитьПараметр("ТаблицаБукв", ТаблицаБукв);
   Результат = Запрос.Выполнить().Выбрать();
   
   Пока Результат.Следующий() Цикл
      Сообщить(Результат.Слово);
   КонецЦикла;
   
КонецПроцедуры
Показать полностью
33. Юрий Тимофеев (Tatitutu) 10.07.09 09:02
(32) И тебе большое спасибо. Вот бы здорово было сравнить твое решение с (25) они оба на 8 у кого скорость быстрее ?
34. ROM (ROM_1C) 12.07.09 10:50
(0) можно использовать простую формулую комбинаторики, расбить строку на символы и юзать...
а вообще какая применяемость даной обработки?
35. Юрий Тимофеев (Tatitutu) 12.07.09 13:45

(34) конечно можно.стоит только попробовать самому.
Применяемость?
-решить задачу для сына
-опробовать свои мозги и возможности
-перебор вариантов (подбор пароля)
36. Сергей (Che) Коцюра (CheBurator) 15.07.09 18:24
задача тривиальная, решается достаточно просто рекурсией,
другой вопрос чтобы сделать алгоритм максимально быстрым.
.
На разминку предлагаю другую подобную задачу.
Есть N предметов.
Необходимо выдать все возможные комбинации расположения этих N предметов по кучкам. 1шт - это тоже кучка. Например, 4 предмета:
возможные варианты расположения по кучкам:
- 4
- 3 1
- 2 1 1
- 1 1 1 1
- 2 2
и т.д.
порядок выдачи разбиения на кучки - непринципиален.
это была одна из первых задач, но которой я обломал зубы, будучи молодым и необразованным... ;-) у меня разбиение все время получалось на N кучек по 1 шт.
37. Епрст (Ёпрст) 15.07.09 18:28
(36) ты нас тут основами комбинаторики хочешь достать ?
:))
38. Сергей (Che) Коцюра (CheBurator) 15.07.09 18:40
Да я не хочу достать, я могу достать! ;-)
нет, принцип не в этом! принцип в эффективности решения.
39. Сергей Палыч (AhtungG) 17.07.09 07:24
(35) еще один пункт применяемости:
- генерация внутренних кодов, состоящих из огранич списка 'допустимых' символов.

к примеру, у нас:
во избежание разночтений символов (да-да, 'ноль' и O, С и S, H и N такое техзадание )) автогенерация кодов на собств продукцию ограничена 0-1..9,ABCEHKLMPTXYZ.
Этого достаточно, чтобы в пятизначке ХХ.YYY обеспечить макс 529 групп товаров с возможными 12167 эл-в в группе (реально 180 групп до 4 тыс.эл. в нескольких группах)
40. Юрий Тимофеев (Tatitutu) 17.07.09 07:27
Спасибо за пример применения.
41. Сергей Палыч (AhtungG) 29.07.09 09:11
для своей задачи (39) нашел имхо более разумное решение,
использовал 'перевод чисел в разные системы исчисления' http://www.kb.mista.ru/article.php?id=78

схитрил чуток, в Функция Из_10_В_Любую() вынес строку в параметр "012..89ABC..Z"
подсовываю свой набор )
Tatitutu; +1 Ответить
42. Михаил Швец (MiCe) 30.07.09 12:37
разберите слово ОКОЛОТОК
=))
43. CCCР (Tatitutu) 30.07.09 12:40
(42) вопрос к кому ?

В описание у автора написано "(а уникальных 40320 , так Е повторяется два раза - по умолчанию буду считать ее за 1 символ т.е варианты ЕЕ=Е)"
так в этом слове ОКОЛОТОК = ОКЛТК

44. Александр Рытов (Арчибальд) 30.07.09 12:49
45. Михаил Швец (MiCe) 30.07.09 13:26
(43) а я вот из описания понял что два подряд за один....
т.е. например слово "око" дает 3 варианта
око
ок
ко
46. Михаил Швец (MiCe) 30.07.09 13:30
дано - около
около-олоко-окло-олко-олк-окл-лко-кло
47. Knight Warlock (KnightWarlock) 28.09.09 10:37
Беспонт, если слова с двумя или более повторяющимяся символами сокращает убирая повторения. НЕ ИНТЕРЕСНО...
48. kitt al;dskjf;ldasjkf (kitt) 15.10.09 10:39
рассчитать количество возможных вариантов для последовательности символов - возвести длину алфавита в степень равную максимальной разрядости (длине последовательности). Всем измвестный пример - байт состоит из 8 бит, возможных значений два - ноль и единица, максимальная длина последовательности - восемь. Итого количество уникальных комбинаций байта - 2^8=256 (255 если считать с ноля), то есть 00000000, 00000001, 00000011, 00000111, ... 11111111.

Ваш пример: исходное слово - ОКОЛОТОК, уникальных букв 5 (ОКЛТК), то есть длина алфавита равна пяти. Длина слова равна восьми, итого по формуле получается 5^8, то есть 390 625 уникальных слов.

49. kitt al;dskjf;ldasjkf (kitt) 15.10.09 10:42
да вот арчибальд подсказывает что уникальных букв в слове ОКОЛОТОК всего четыре ОКЛТ. Значет решение будет 4^8 = 65536

А то в первый раз я из (43) неправильно буквы скопипастил :)
50. Евгений (jk3) 06.11.09 15:19
даже не знал что тут есть раздел "Занимательное программирование для 1С" 8)

(35) тогда пора переходить на что-нибудь более серьезное: нейросети на 1С -- как звучит ;)
51. Юрий Тимофеев (Tatitutu) 06.11.09 15:32
(51) чего тут только нет - и чем разообразнее тем лучше - у кого то может ТОЛЬКО идея возникнет, а кто то ВООДУШИВИТСЯ ею и сделает что-нибудь НАСТОЯЩЕЕ.
Как говорится лучше - "С миру по нитке и голому рубаха (с)"
чем стоять на месте и
"Переливать из пустого в порожнее (с)"
52. Альтаир (Altair777) 06.11.09 16:04
(0) Вопрос...
А зачем переставлять символы? Тем более, так механически?
Было бы интереснее, если бы задача стояла так - сколько правильных слов русского языка можно составить из перествленных символов?
А так это просто математика...
53. Юрий Тимофеев (Tatitutu) 06.11.09 16:11
(52) Открою тебе тайну
человек этим и отличается от животного мира
что ОН задает ВОПРОСЫ и ищет на него ОТВЕТЫ
а самое главное НАХОДИТ.
Наша ЖИЗНЬ в ПОИСКЕ.

не было бы интереснее , поверь

вот тебе загадка про РУССКИЙ язык

"Попробуй придумать слово на русском языке из девяти букв, которое содержит в себе шесть других слов"
54. Альтаир (Altair777) 06.11.09 16:13
(53) А я думал, что он разумом отличается, а не тупой перестановкой буковок...
:)
55. Юрий Тимофеев (Tatitutu) 06.11.09 16:13
56. Юрий Тимофеев (Tatitutu) 06.11.09 16:14
(54) на загадку в (53) не ДУМАЛ как ответить ?
57. Альтаир (Altair777) 06.11.09 16:17
(55) Снова началось?
А потом скажешь, что пароль пропал или тебя взломали?
Обрати внимание, (52) был корректен. А вот ответ на него - совсем нет.
Тайны мне открывать не надо. Тем более, такие сокровенные... для тебя.
58. Юрий Тимофеев (Tatitutu) 06.11.09 16:26
(57) Неужели так трудно признать ....- я не знаю ответ на твою загадку.
а нужно "изобретать ВЕЛОСИПЕД или как переставить символы"
твой ответ не правильный :!:

правильный ответ:

Слово ПРИДУМАТЬ, которое ты уже прочитал не один раз, содержит в себе слова:
ИДУ, ДУМАТЬ, ДУМА, УМ, МАТЬ и МАТ.

я ответил на (52)
59. Альтаир (Altair777) 06.11.09 16:33
(58) я еще загадку не рассматривал
Интересно, а сколько бы ты решал ее, если бы не знал отвтета?
Придумать самому или найти в инете, а потом с гордым видом рассказывать как ты быстро ее решил - это, конечно, круто :)
60. Альтаир (Altair777) 06.11.09 16:36
(58) > я ответил на (52)
Нет, условия были другие: сколько правильных слов русского языка можно составить из перествленных символов?
Где слово МИР, например?
61. Юрий Тимофеев (Tatitutu) 06.11.09 16:49
(59) ну ты не нашел же ответа (или я быстрее нашел)
"...там где - ты учился , я преподавал " (с)

для (60)
нет, условия были другие (см.53)

Где слово МИР, например?

там написано, в условии.
"которое СОДЕРЕЖИТ в себе "

а МИР - это опять из области
"зачем изобретать ВЕЛОСИПЕД или как переставить символы"
62. Альтаир (Altair777) 06.11.09 16:56
(61)

1) Я еще и не искал ответ. И не обязан был, что характерно :-)
Вот так сразу кинуться

2) Ты ответ знал заранее.

3) > нет, условия были другие (см.53)
Не вяжется с (58) > я ответил на (52)

Прочти все внимательнее с (52) поста.
63. Юрий Тимофеев (Tatitutu) 06.11.09 17:05
хотел сначала написать так

ты жил с (54) а поведал про (53), на что ты примитивно в (57) обиделся :cry: (кстати совершенно не поделу)


не буду, напишу просто

"Хоть ссы в глаза, все божья роса" (с) не мое, народная мудрость.


И заканчиваем "нарушать - флудить не по теме" Удачных выходных :D
64. Альтаир (Altair777) 06.11.09 17:15
(63) мда... Неужели СССР (Странник Сети (Советник Разума)) вернулся?! :)
65. Юрий Тимофеев (Tatitutu) 06.11.09 17:18
(64) Не выдавай ЖЕЛАЕМОЕ, за ДЕЙСТВИТЕЛЬНОЕ. :D :D :D
" и не м....." (с) Tatitutu
Altair777 удачных выходных !
66. Альтаир (Altair777) 06.11.09 17:50
67. Александр Венгер (venger) 06.11.09 18:09
(61)
"...там где - ты учился , я преподавал " (с)


Как бы тоже не стоит желаемое, за действительное выдавать, вообще то;-) Ну да ладно, пора по домам, поэтому стоит переключиться и заняться темой этой ветки вплотную на практике: http://infostart.ru/forum/forum1/topic28571/messages/

;-)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа