|
v7: Не получается алгоритм перебора всех разных последовательностей чисел от 1 до p | ☑ | ||
---|---|---|---|---|
0
РусскийВедун
15.02.14
✎
20:18
|
Есть число p.
Необходимо составить все возможные последовательности чисел от 1 до p . допустим p=4 тогда 6 вариантов: 1. 4 3 2 1 2. 4 3 1 2 3. 4 2 3 1 4. 4 1 3 2 5. 4 2 1 3 6. 4 1 2 3 Для p получается (p-1)! вариантов. Казалось бы элементарные циклы, но бьюсь второй час и ничего путного не придумал. Может у вас есть идеи? |
|||
1
МихаилМ
15.02.14
✎
21:15
|
http://yandex.ru/yandsearch?clid=9582&text=Вывести+комбинации+всех+чисел&lr=213
Переходим к обсуждению умственных способностей автора ветки. |
|||
2
Принт
15.02.14
✎
21:17
|
(0) высшее образование есть?..
|
|||
3
Злопчинский
15.02.14
✎
21:30
|
одна рекурсивная процедура.
перебор 3 чисел - это то же самое что перебор двуххх.. индукция.. чему сейчас учат на вышке - ...? |
|||
4
Classic
15.02.14
✎
22:15
|
(3)
Рекурсия зло :) |
|||
5
b159263
15.02.14
✎
22:17
|
(4) Тогда Битовый сдвиг
wiki:Битовый_сдвиг |
|||
6
РусскийВедун
15.02.14
✎
22:22
|
(1) вопрос не по числу 7, а по числу p которое может быть пускай 83759863. И реализовать это надо на 1с 7.7 а не с++.
|
|||
7
Classic
15.02.14
✎
22:36
|
(6)
Проще всего реализовать рекурсию. Вообще элементарно, сложнее - развернуть рекурсию в итерационно. Если чуть-чуть поднапрячься, то можно придумать математическое соответствие произвольному числу от 1 до р! одному набору. |
|||
8
ilpar
15.02.14
✎
22:42
|
Начали с постановки. ГУТ, но задача какая?
|
|||
9
ilpar
15.02.14
✎
22:47
|
Если количество вариантов - то по-другому решаться может задача.
|
|||
10
romix
15.02.14
✎
22:48
|
Методом Монте-Карло можно.
|
|||
11
ilpar
15.02.14
✎
22:52
|
Графы всякие для транспортных задач.
|
|||
12
РусскийВедун
15.02.14
✎
22:57
|
(9) получить все варианты
|
|||
13
1Сергей
15.02.14
✎
23:01
|
(0) у тебя во всех вариантах первая четверка. Это условие задачи?
|
|||
14
РусскийВедун
16.02.14
✎
08:33
|
(13) нет. Интересуют все возможные последовотельности чисел.
|
|||
15
an-korot
18.02.14
✎
11:07
|
РусскийВедун, ты мозготрах тебе задачу задали ты и делай.
задача для 1 класса информатики. |
|||
16
Широкий
18.02.14
✎
11:39
|
"допустим p=4
тогда 6 вариантов: " Не пойму, почему только 6 вариантов? |
|||
17
Avganec
18.02.14
✎
11:41
|
+(16) а про перестановку первого элемента забыли
|
|||
18
supremum
18.02.14
✎
11:43
|
(0) р - чем ограничено сверху?
|
|||
19
dk
18.02.14
✎
11:49
|
если разрядность небольшая (ну до 10 например)
то можно полным перебором и отбрасыванием лишних результатов |
|||
20
ifso
18.02.14
✎
12:00
|
(0) Составь из заданных цифр максимальное число. В цикле уменьшай на единичку и проверяй ответ на наличие в нем всех заданных цифр.
^^ |
|||
21
Широкий
18.02.14
✎
12:05
|
Мой вариант, под 8-ку правда
Процедура ВыполнитьПеребор(ЗНАЧ СписокЭлементов,ИсходнаяСтрока="",НомерГруппировки=0) СлНомерГруппировки=НомерГруппировки+1; Для Каждого ЭлементСписка Из СписокЭлементов Цикл Если ЭлементСписка.Пометка Тогда Продолжить; КонецЕсли; ЭлементСписка.Пометка=Истина; Если СлНомерГруппировки=КоличествоЭлементов Тогда Сообщить(ИсходнаяСтрока+ЭлементСписка.Значение); Иначе ВыполнитьПеребор(СписокЭлементов,ИсходнаяСтрока+ЭлементСписка.Значение,СлНомерГруппировки); КонецЕсли; ЭлементСписка.Пометка=Ложь; КонецЦикла; КонецПроцедуры Процедура КнопкаВыполнитьНажатие(Кнопка) СписокЭлементов=Новый СписокЗначений; Для сч=1 По КоличествоЭлементов Цикл СписокЭлементов.Добавить(""+сч); КонецЦикла; ВыполнитьПеребор(СписокЭлементов); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |