Показать сообщение отдельно
Старый 20.12.2005, 14:48     # 1
Alexk1984
Guest
 
Сообщения: n/a

Програмка отбора множеств

Ребята,помогите пожалуйсто написать такую програмку на любом языке:

Даны 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 переменная, которым присвoены следующие наборы букв
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)Необходимо отобрать все комбинации из переменных(ограничим количество иксов в одной комбинации до 10), которые содержат все заданные буквы(буквы могут повторяться).
Например Х1,Х2 и Х3 содержат все буквы, или Х2,Х17,Х18,Х19,Х20 и Х21( в этом случае буквы повторяются, но это допустимо)

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

Должно получиться так, чтобы я задавал значения всех иксов, а программа выдавала мне все подходящие комбинации.