Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Комбинации чисел 
V
    Опции темы
Zorak
Дата 22.2.2010, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Всем доброго времени суток! Нужно решить задачу нахождения всех комбинаций чисел. нисмог додуматся.. очень надеюсь на вашу помощь. Суть вот в чем: Есть какоето число К=9 (константа). и есть некое число N, которое задается пользователем, например 2. (2<= N <=5). Ето значит что в комбинациях будут принимать участия цифры 1 и 2. Если N=4 то участие в комбинации принимают участие 1,2,3 и 4.
Нужно записать в массив все комбинации, например N=2, тогда комбинации будут:
Код

1 1 1 1 1 1 1 1 1         //<--- всего 9 позиций, так как К=9;
1 1 1 1 1 1 1 1 2
1 1 1 1 1 1 1 2 1 
1 1 1 1 1 1 1 2 2 
1 1 1 1 1 1 2 1 1
1 1 1 1 1 1 2 1 2 
1 1 1 1 1 1 2 2 1 
1 1 1 1 1 1 2 2 2
..........
1 2 2 2 2 2 2 2 2        //<--- На етом стоп!;


Тоесть нужно сделать ВСЕ комбинации, когда на первом месте стоит 1.

Если например N = 3 то комбинации будут примерно такие:

Код

1 1 1 1 1 1 1 1 1        
1 1 1 1 1 1 1 1 2
1 1 1 1 1 1 1 2 1 
1 1 1 1 1 1 1 2 2 
1 1 1 1 1 1 2 1 1
1 1 1 1 1 1 2 1 2 
1 1 1 1 1 1 2 2 1 
1 1 1 1 1 1 2 2 2
..........
1 2 2 2 2 2 2 2 2        
..........
1 1 1 1 1 1 1 1 3
1 1 1 1 1 1 1 3 1
1 1 1 1 1 1 1 3 3 
.........
1 2 2 2 2 2 2 2 3
1 2 2 2 2 2 2 3 2 
1 2 2 2 2 2 2 3 3 
........
1 3 3 3 3 3 3 3 3    // <--- На етом стоп!


Если чегото не понятно то говорите, попытаюсь обьяснить более доступно.
P.S. З.Ы. Количество вариантов вычисляется за формулой: кол := N^(k-1);

Это сообщение отредактировал(а) Zorak - 22.2.2010, 20:22


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
DarkProg
Дата 23.2.2010, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 4
Всего: 19



Есть такая вещь называется Код Грея поищи в нете, и переложи для своих нужд, я уже делал так пару раз, здесь в общем изходя из того что ты предлагаешь именно код грея и прокатит, только додумай как его надо адаптировать smile


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
Qu1nt
Дата 23.2.2010, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 22
Всего: 50



PM MAIL   Вверх
profesiachuvak
Дата 23.2.2010, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 7.11.2009
Где: Беларусь, Минск

Репутация: 1
Всего: 4





Цитата(Zorak @  22.2.2010,  19:49 Найти цитируемый пост)
1 2 2 2 2 2 2 2 2  

Почему на этой строчке следует останавливаться? А если будут все двойки : 2 2 2 2 2 2 2 2 2  ? Ведь все единицы могут быть.

Скорее всего кол-во комбинаций вычисляется с помощью фор-лы для перестановок с повторениями то есть : 

a1 повторяется a раз 
а2 повторяется b раз и т.д.
=> Число размещений = (a + b + ... + )! / (a1 + a2 + ... an)! .

например число 2 повторяется 1 раз, затем число 2 повторяется 2 раза и т.д. => (1 + 2 + 3 ... + 8)! / (2+ 2 +... +)!




--------------------
Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет.
PM MAIL   Вверх
Zorak
Дата 27.2.2010, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(profesiachuvak @ 23.2.2010,  20:26)
Цитата(Zorak @  22.2.2010,  19:49 Найти цитируемый пост)
1 2 2 2 2 2 2 2 2  

Почему на этой строчке следует останавливаться? А если будут все двойки : 2 2 2 2 2 2 2 2 2  ? Ведь все единицы могут быть.

Скорее всего кол-во комбинаций вычисляется с помощью фор-лы для перестановок с повторениями то есть : 

a1 повторяется a раз 
а2 повторяется b раз и т.д.
=> Число размещений = (a + b + ... + )! / (a1 + a2 + ... an)! .

например число 2 повторяется 1 раз, затем число 2 повторяется 2 раза и т.д. => (1 + 2 + 3 ... + 8)! / (2+ 2 +... +)!

По условиям задачи на первом месте не должно стоять ничего кроме 1 .=)
З.Ы. Колччество вариантов я сумел обчислить, я не додумался как ето реализовать в програмировании). Мне нужен код чтобы показывал кти комбинации...
З.Ы.Ы. Кодом додумался. Так как у нас К константа, я подумал,что можно сделать приблизительно вот так:

Код

for i1 := 1 to 1 do
  for i2 := 1 to n do
    for i3 := 1 to n do
      for i4 := 1 to n do
        for i5 := 1 to n do
          for i6 := 1 to n do
            for i7 := 1 to n do
              for i8 := 1 to n do
                for i9 := 1 to n do
                  for i10 := 1 to n do
                    write(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10);


Немного не по профессиональному и по нубски, но другим вариантом никак не додумался)


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Juice
Дата 20.3.2010, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 13.1.2007

Репутация: нет
Всего: нет



Может выложишь всё задание полностью?
З.Ы. Мне кажется, что гуглить в сторону "исходник брутфорса" надо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0828 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.