Здравствуйте, Аноним, Вы писали:
А>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.
А счет куда прислать ? )
Re[2]: перебор чисел
От:
Аноним
Дата:
13.02.06 14:12
Оценка:
Здравствуйте, bkat, Вы писали:
B>Здравствуйте, Аноним, Вы писали:
А>>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.
B>В смысле тебе нужно выслать файл со всеми комбинациями?
А ты можеш?
Я хочу понять алгоритм перебора на делфи,и мне нужны ети комбинацыи.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, bkat, Вы писали:
B>>Здравствуйте, Аноним, Вы писали:
А>>>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.
B>>В смысле тебе нужно выслать файл со всеми комбинациями? А>А ты можеш?
А ты принять сможешь?
Прикинь какой файл получится.
Задачка, решаемая после первого занятия по комбинаторике...
Re[4]: перебор чисел
От:
Аноним
Дата:
14.02.06 14:48
Оценка:
B>Задачка, решаемая после первого занятия по комбинаторике...
Если набор состоит из K нулей и N-K единиц, то каждой перестановке соответствует комбинация — выбор из N по K (позиции нулей) или по N-K (позиции единиц). Итого, C(N,K).
Конечно, мы можем соединить оба подхода: внешним циклом перебирать комбинации N=40,K=6, извлекать выпавшие номера и далее перебирать перестановки N=6.
Но это довольно громоздко.
Однако! А что если мы возьмём не нули и единицы, а K разных чисел и N-K одинаковых заглушек.
Здравствуйте, Аноним, Вы писали:
B>>Задачка, решаемая после первого занятия по комбинаторике...
А>Помоги решыть если нетяжело...
Найди книгу: В. Липский, Комбинаторика для программистов. Выходила она в 80-е годы в издательстве "Мир", кажется. Там отлично все расписано, есть примеры программ на паскалеподобном псевдокоде.
К>Однако! А что если мы возьмём не нули и единицы, а K разных чисел и N-K одинаковых заглушек.
На тот случай, если кто-то не понял, что из этого получается.
Комбинация выбранных чисел определяется позициями не-заглушек. А порядок следования в комбинации — значениями не-заглушек. Т.е.
1 2 3 4 5 6 7 8 9
-----------------
x x x 3 x 1 x 2 x -> 6 8 4
x x x 3 x 1 x x 2 -> 6 9 4
x x x 3 x x 1 2 x -> 7 8 4
x x x 3 x x 1 x 2 -> 7 9 4
Минус — в том, что последовательности выводятся не в лексикографическом порядке.
То же самое, если мы сделаем на вложенных циклах (которые при желании элементарно реализуются единственным циклом)
for x1 := 1 to N do
for x2 := 1 to N do
if x2<>x1 then
for x3 := 1 to N do
if x3<>x1 and x3<>x2 then
.....
for xk := 1 to N do
if xk<>x1 and ... and xk<>xk1 then
writeln(x1,x2,x3,.....);