перебор чисел
От: Аноним  
Дата: 10.02.06 13:21
Оценка: -1 :)
Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.
Re: перебор чисел
От: Кодт Россия  
Дата: 10.02.06 16:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.


Сколько заплатишь?
Перекуём баги на фичи!
Re: перебор чисел
От: MitjaT Россия  
Дата: 11.02.06 12:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.


23763287, может чуть больше...
Re: перебор чисел
От: bkat  
Дата: 11.02.06 14:29
Оценка: :)
Здравствуйте, Аноним, Вы писали:

А>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.


В смысле тебе нужно выслать файл со всеми комбинациями?
Re: перебор чисел
От: xtile  
Дата: 13.02.06 09:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.


А счет куда прислать ? )
Re[2]: перебор чисел
От: Аноним  
Дата: 13.02.06 14:12
Оценка:
Здравствуйте, bkat, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.


B>В смысле тебе нужно выслать файл со всеми комбинациями?

А ты можеш?
Я хочу понять алгоритм перебора на делфи,и мне нужны ети комбинацыи.
Re[3]: перебор чисел
От: bkat  
Дата: 13.02.06 16:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, bkat, Вы писали:


B>>Здравствуйте, Аноним, Вы писали:


А>>>Мне нужно перебрать с 40-чисел комбинацыю длиной в 6 чисел.Ответ пришлите на _x_3@ukr.net заране благодарен.


B>>В смысле тебе нужно выслать файл со всеми комбинациями?

А>А ты можеш?

А ты принять сможешь?
Прикинь какой файл получится.
Задачка, решаемая после первого занятия по комбинаторике...
Re[4]: перебор чисел
От: Аноним  
Дата: 14.02.06 14:48
Оценка:
B>Задачка, решаемая после первого занятия по комбинаторике...

Помоги решыть если нетяжело...
Re[5]: перебор чисел
От: bkat  
Дата: 14.02.06 15:22
Оценка:
Здравствуйте, Аноним, Вы писали:

B>>Задачка, решаемая после первого занятия по комбинаторике...


А>Помоги решыть если нетяжело...


Лень...
А вообще, в С++ в STL есть функция next_permutation
Она делает именно то, что тебе надо.
Re[6]: перебор чисел
От: Кодт Россия  
Дата: 14.02.06 17:30
Оценка:
Здравствуйте, bkat, Вы писали:

B>А вообще, в С++ в STL есть функция next_permutation

B>Она делает именно то, что тебе надо.

Да, но её нужно грамотным способом применить.

Если набор, который мы переставляем с помощью next_permutation, состоит из уникальных чисел — получаем все перестановки (т.е. N!)
1 2 3 ... 7 8 9
1 2 3 ... 7 9 8
1 2 3 ... 8 7 9
...............
9 8 7 ... 3 2 1

Очевидно, это не то, что нам надо.

Если набор состоит из K нулей и N-K единиц, то каждой перестановке соответствует комбинация — выбор из N по K (позиции нулей) или по N-K (позиции единиц). Итого, C(N,K).
0 0 0 1 1 1 1 1 1 -> 1 2 3
0 0 1 0 1 1 1 1 1 -> 1 2 4
0 0 1 1 0 1 1 1 1 -> 1 2 5
.................
1 1 1 1 1 1 0 0 0 -> 7 8 9

Похоже, что и это нам не очень-то надо.

Конечно, мы можем соединить оба подхода: внешним циклом перебирать комбинации N=40,K=6, извлекать выпавшие номера и далее перебирать перестановки N=6.
Но это довольно громоздко.

Однако! А что если мы возьмём не нули и единицы, а K разных чисел и N-K одинаковых заглушек.
Перекуём баги на фичи!
Re[5]: перебор чисел
От: Privalov  
Дата: 15.02.06 06:49
Оценка:
Здравствуйте, Аноним, Вы писали:

B>>Задачка, решаемая после первого занятия по комбинаторике...


А>Помоги решыть если нетяжело...


Найди книгу: В. Липский, Комбинаторика для программистов. Выходила она в 80-е годы в издательстве "Мир", кажется. Там отлично все расписано, есть примеры программ на паскалеподобном псевдокоде.
Re[7]: перебор чисел
От: Кодт Россия  
Дата: 15.02.06 11:04
Оценка:
К>Однако! А что если мы возьмём не нули и единицы, а 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,.....);
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.