Loading ⌛Loading ⌛
Für alle Elemente x
gilt x ∈ U = {A,B,C,D,...,Z}
und somit |U| = 26
. Siehe auch Mengenlehre
{B,X,C,D} ∪ {A,B,C}
{B,X,C,D,A}
Loading ⌛
/[^A-Z,]/,/g Alles ausser [A-Z,] entfernen /([A-Z])(.*)\1/$1$2/ Mehrfachelemente entfernen /,,+/,/g Formatierung bereinigen /^,(.*?),?$/{$1}/! Finalisierung
Testing: Leere Mengen sind ok
{B,X,C,D} ∩ {A,B,C}
{C,B}
Loading ⌛
/([A-Z])(.*∩.*)\1(.*)=/$2$3=,$1/ Gemeinsame extrahieren /.*=,?(.*)/{$1}/! Finalisieren /$/=/ Intitialisierung: = Anfügen
Testing: Leere Mengen sind auch ok
{A,B,C,D} \ {B,D}
{A,C}
Loading ⌛
/[^A-Z,]/,/g Alles ausser [A-Z,] entfernen /([A-Z])(.*)\1/$2/ Gemeinsame Elemente entfernen /,,+/,/g Formatierung bereinigen /^,(.*?),?$/{$1}/! Finalisierung
Testing: Leere Mengen sind ok. Bei X \ Y
muss Y
eine Teilmenge von X
sein!
U \ {A,B,C,D,X,Y,Z}
{E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W}
Loading ⌛
/^U\s*\\\s*\{/{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}/ /[^A-Z,]/,/g Alles ausser [A-Z,] entfernen /([A-Z])(.*)\1/$2/ Gemeinsame Elemente entfernen /,,+/,/g Formatierung bereinigen /^,(.*?),?$/{$1}/! Finalisierung
Testing: U\U = {}
ist ok
{D,A,B} △ {C,A,B}
{D,C}
Loading ⌛
/\s//g /([A-Z])(.*)△(.*)\1/$2△$3/ /,,+/,/ /\}△\{/,/ /,\}/}/ /\{,/{/
Testing: Geht auch mit leeren Mengen
{A,B,C} × {E,F}
{(CF),(CE),(BF),(BE),(AF),(AE)}
Loading ⌛
/\{([A-Z])(.*)\{([A-Z])(.*)=/{$1$2$3{$4=,($1$3)/ Paaren (1) /\{[A-Z](.*)×(.*)\{\}/{$1×{$2}/ Paaren (2) /{}.*=,?/{/! Finalisieren /[^A-Z{}×]//g Überflüssiges entfernen /$/=}/ =} hinten anfügen
Testing: Leere Mengen ok
ℙ({A,B,C})
{{A,B,C},{A,B},{A,C},{A},{B,C},{B},{C},{}}
Loading ⌛
/ℙ\(\{\}\)/{}/ ! /β(.*)0./β$1/ /β(.*)1(.)/β$1,$2/ /\{,/{/g /\{β,(.*)/{{$1}/! /^((1.)*)=,/{β$1},/ /1(.)α0/α0$10/ /0(.)α0/1$10/ /(.*)1(.)=/$1α0$2=,{$11$2}/ /(.*)0(.)=/$11$2=,{$1}/ /ℙ?\(?\{?(\b[A-Z]),?\}?\)?/0$1/g /$/=/
Idee: Eine Binärzahl mit sovielen Stellen wie Elemente in der Menge von 0 bis 2n+1-1 iteriren.
{A,B,C} -> 111,110,101,100,011,010,001,000 /^(1*)=,/$1,/! /1α0/α00/ /0α0/10/ /(.*)1=/$1α0=,$11/ /(.*)0=/$11=,$10/ /\{?\b([A-Z]),?\}?/0/g /$/=/
Entsprechende Buchstaben filtern.
{A,B,C} -> 1A1B1C,1A1B0C,1A0B1C,1A0B0C,0A1B1C,0A1B0C,0A0B1C,0A0B0C /^((1.)*)=,/$1,/! /1(.)α0/α0$10/ /0(.)α0/1$10/ /(.*)1(.)=/$1α0$2=,$11$2/ /(.*)0(.)=/$11$2=,$10$2/ /\{?\b([A-Z]),?\}?/0$1/g /$/=/
|{A,B,C,D,E}|
101
Loading ⌛
/[A-Z]/1/g /[^10α]//g /^(1+)\1(α|$)/$1α0/ /^1(1+)\1(α|$)/$1α1/ /^1α/1/! /^$/0/!
Arbeitsumgebung: http://exorciser.ch/dev/rema.html
Aufgaben
This work by Vincent Tscherter, vincent.tscherter@karmin.ch and Kurt Jakob, kurt.jakob@gmx.ch is licensed under Creative Commons Attribution-NonCommercial 3.0.