Hallo seth,
Na, mit Perl bekomme ich meinen aber auch so kurz ;-)
#!/usr/bin/perl
use strict;
print join("\n", map {join(",", @{$_})} teilmengen(1..5)), "\n";
sub teilmengen {
return @_ ? (map {$_, [$_[0], @{$_}]} teilmengen(@_[1..$#_])) : ([]);
}
es geht naemlich auch ohne rekursionen,
Ja, mein Algorithmus ist einfach der in Code gegossene Induktionsbeweis, warum das 2^n Teilmengen sind. Da bietet sich Rekursion zum schnellen Hinschreiben an.
kuerzer und fuer leute, die mit binaeren zahlen was anfangen koennen, auch leichter verstaendlich
als für Leute, die nichts mit binären Zahlen zu tun haben? Dem stimme ich uneingeschränkt zu ;-)
Einfach bis 2^n zu Zählen und die Teilmengen aus den Bitbelegungen zu bestimmen, ist natürlich trickreich.
Grüße
Daniel