![]() |
|
Модераторы: LSD |
![]()
|
|
| Гость_Алекс |
|
|||
|
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 |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб |
Тема перемещена в "Разные вопросы"
|
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
| Alexk1984 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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) |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 |
А тебе говорили, как это делается? Все-таки учишься ты для себя, надо и самому пытаться! А то как все просто: пришел на форум, и тебе сразу код написали. На форуме помогают, а не пишут за вас.
|
|||
|
||||
| Alexk1984 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 19.12.2005 |
Run-time error, нет, мне не говорили, я потому и спрашиваю, что не знаю даже на каком языке такое лучше писать,
во-вторых я не учусь програмировать, если бы учился, то думаю не спрашивал бы, пытаться самому, правильно, я согласен, но для этого необходимо как минимум знать что пытаться и что для этого предстоит сделать. И заметьте, я не настаивал на том, чтобы мне код написали, я спросил насколько это сложно; если это достаточно сложно, то соответственно за это никто браться не будет, а если там 5 строк написать, то почему бы и нет... |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 |
Хм.. А значения для иксов откуда берутся?
|
|||
|
||||
| Alexk1984 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 19.12.2005 |
Значения для Х-сов я ввожу произвольно, и в зависимости от них уже смотрю сколько таких комбинаций существует,
вообще мне нужна комбинаций с наибольшей разницей 1-(1/Х1+1/Х2+1/Хn), но это я уже потом сам попытаюсь доработать. Насколько это сложно?, по-моему алгоритм довольно таки лёгкий, я просто не могу перевести это на нужный язык. |
|||
|
||||
| Alexk1984 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 19.12.2005 |
Насколько я понимаю, идея такова, машина должна составить все возможные комбинации иксов(ограничим количество иксов в одний комбинации до 10), затем совместить подмножества (т.е. буквы) каждой комбинации и проверить их на наличие полного набора букв. Далее иксы каждой из "переживших" комбинаций
подставить в неравенство и тем самым отсеить все "непригодные" множества. Это сообщение отредактировал(а) Alexk1984 - 19.12.2005, 18:23 |
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 |
По-моему, части "1)" и "2)" надо делать отдельно на любом доступном языке (например на C), предварительно почитав про циклы, ввод/вывод и операции.
|
|||
|
||||
![]()
|
| Правила раздела «Флейм» | |
|
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Флейм | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |