Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перебор комбинаций переменных, помогите выбрать язык 
:(
    Опции темы
Гость_Алекс
Дата 19.12.2005, 00:07 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подскажите пожалуйсто на каком языке это лучше и проще сделать,
и если это не сложно, то напишите исходник.

Задача такая:

Даны 25 букв: A,B,C,D,E,F,G,H,I,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,J,Z
и 21 переменная, которым присваиваются следующие наборы букв
X1 – A,B,C,D,E,F,G,H,I,K
X2 – L,M,N,O,P
X3 – Q,R,S,T,U,V,W,Y,J,Z
X4 – A,B,L,M,Q,R
X5 – C,D,E,F,G,H,I,K,N,O,P,S,T,U,V,W,Y,J,Z
X6 – A,L,Q
X7 – B,M,R
X8 – L,Q,R,T,W
X9 – A,M,S,U,Y
X10- B,C,N,V,J
X11- D,E,F,G,H,I,K,O,P,Z
X12- A,B,D,G,L
X13- C,E,H,M,Q
X14- F,I,N,R,S
X15- K,O,P,T,U,V,W,Y,J,Z
X16- L
X17- A,Q
X18- B,M,R
X19- C,D,S,T
X20- E,G,N,U,W
X21- F,H,I,K,O,P,V,Y,J,Z

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

2)Теперь каждой из Х присваивается какое либо число, и нужно оставить только те из отобраных комбинаций, которые
удовлетворяют неравенству 1/Х1 + 1/Х2 +,...,+ 1/Хn < 1, где Х1,Х2,..,Хn - переменные в 1) отобраных комбинаций.

Зараннее благодарен...

  Вверх
podval
Дата 19.12.2005, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб




Тема перемещена в "Разные вопросы"
PM WWW ICQ   Вверх
nworm
Дата 19.12.2005, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




На любом, наверное. На C, например. Только неясно:

1) 21 переменная - это

X1 = A

или

X1 = {A,B,C,D,E,F,G,H,I,K}

2) "1)Необходимо отобрать все комбинации из переменных, которые содержат все заданные буквы(буквы могут повторяться)." Может быть есть пример отбора?

3) "2)" Пример?

Это сообщение отредактировал(а) nworm - 19.12.2005, 14:53
PM MAIL WWW   Вверх
Alexk1984
Дата 19.12.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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




1)21 переменная это это все Х т.е. от Х1 до Х21
Х1={A,B,C,D,E,F,G,H,I,K}

2) Например Х1,Х2 и Х3 содержат все буквы, или Х2,Х17,Х18,Х19,Х20 и Х21( в этом случае буквы повторяются, но это допустимо)

3) присваиваем переменным значения, например
Х1=2, Х2=3, Х3=4, Х17=10, Х18=7, Х18=20, Х19=8, Х20=15, Х21=6
смотрим: 1/2 + 1/3 +1/4 = 1.0833 => не подходит,(Х1,Х2,Х3)

1/3 + 1/10 + 1/7 + 1/8 + 1/15 + 1/6 = 0.93 => подходит(Х2,Х17,Х18,Х19,Х20,Х21)

смысл в том, что я задаю ей значения для всех Х, а она мне выдаэт такие комбинации как (Х2,Х17,Х18,Х19,Х20,Х21)
PM MAIL   Вверх
Exception
Дата 19.12.2005, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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




А тебе говорили, как это делается? Все-таки учишься ты для себя, надо и самому пытаться! А то как все просто: пришел на форум, и тебе сразу код написали. На форуме помогают, а не пишут за вас.
PM   Вверх
Alexk1984
Дата 19.12.2005, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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




Run-time error, нет, мне не говорили, я потому и спрашиваю, что не знаю даже на каком языке такое лучше писать,
во-вторых я не учусь програмировать, если бы учился, то думаю не спрашивал бы,
пытаться самому, правильно, я согласен, но для этого необходимо как минимум знать что пытаться и что для этого предстоит сделать.
И заметьте, я не настаивал на том, чтобы мне код написали, я спросил насколько это сложно; если это достаточно сложно, то соответственно за это никто браться не будет, а если там 5 строк написать, то почему бы и нет...
PM MAIL   Вверх
Exception
Дата 19.12.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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




Хм.. А значения для иксов откуда берутся?
PM   Вверх
Alexk1984
Дата 19.12.2005, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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




Значения для Х-сов я ввожу произвольно, и в зависимости от них уже смотрю сколько таких комбинаций существует,
вообще мне нужна комбинаций с наибольшей разницей 1-(1/Х1+1/Х2+1/Хn), но это я уже потом сам попытаюсь доработать.

Насколько это сложно?, по-моему алгоритм довольно таки лёгкий, я просто не могу перевести это на нужный язык.
PM MAIL   Вверх
Alexk1984
Дата 19.12.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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




Насколько я понимаю, идея такова, машина должна составить все возможные комбинации иксов(ограничим количество иксов в одний комбинации до 10), затем совместить подмножества (т.е. буквы) каждой комбинации и проверить их на наличие полного набора букв. Далее иксы каждой из "переживших" комбинаций
подставить в неравенство и тем самым отсеить все "непригодные" множества.

Это сообщение отредактировал(а) Alexk1984 - 19.12.2005, 18:23
PM MAIL   Вверх
nworm
Дата 19.12.2005, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




По-моему, части "1)" и "2)" надо делать отдельно на любом доступном языке (например на C), предварительно почитав про циклы, ввод/вывод и операции.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

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


 




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


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

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