Thread View: pl.comp.lang.perl
2 messages
2 total messages
Started by Cezary Grądys
Mon, 20 Feb 2017 09:49
Generowanie wszystkich mozliwosci totolotka
Author: Cezary Grądys
Date: Mon, 20 Feb 2017 09:49
Date: Mon, 20 Feb 2017 09:49
29 lines
1713 bytes
1713 bytes
Witam.
Chciałbym wygenerować wszystkie możliwe zestawy liczb w totolotku.
Pierwsze nieeleganckie podejście to 6 pętli for:
----------------------------------------------------------
#!/usr/bin/perl
use strict;
for (my $a=6;$a<50;$a++) {
for (my $b=5;$b<$a;$b++){
for (my $c=4;$c<$b;$c++){
for (my $d=3;$d<$c;$d++){
for (my $e=2;$e<$d;$e++){
for (my $f=1;$f<$e;$f++){
print "$a\t$b\t$c\t$d\t$e\t$f\n";
}
}
}
}
}
}
print "\n";
-----------------------------------------------------------
Mogło by tak zostać, ale totolotek to tylko przykład tu może się
zmienić liczba tych pętli. Poszukuję bardziej ogólnego sposobu,
tak, żeby łatwo wygenerować zestawy 5,6 czy 10 liczb.
Re: Generowanie wszystkich mozliwosci totolotka
Author: Cezary Grądys
Date: Mon, 20 Feb 2017 10:23
Date: Mon, 20 Feb 2017 10:23
35 lines
2035 bytes
2035 bytes
W dniu 20.02.2017 o 10:49, Cezary Grądys pisze:
> Witam.
> Chciałbym wygenerować wszystkie możliwe zestawy liczb w totolotku.
> Pierwsze nieeleganckie podejście to 6 pętli for:
>
> ----------------------------------------------------------
>
> #!/usr/bin/perl
> use strict;
>
> for (my $a=6;$a<50;$a++) {
> for (my $b=5;$b<$a;$b++){
> for (my $c=4;$c<$b;$c++){
> for (my $d=3;$d<$c;$d++){
> for (my $e=2;$e<$d;$e++){
> for (my $f=1;$f<$e;$f++){
> print "$a\t$b\t$c\t$d\t$e\t$f\n";
> }
> }
> }
> }
> }
> }
> print "\n";
>
> -----------------------------------------------------------
>
> Mogło by tak zostać, ale totolotek to tylko przykład tu może się
> zmienić liczba tych pętli. Poszukuję bardziej ogólnego sposobu,
> tak, żeby łatwo wygenerować zestawy 5,6 czy 10 liczb.
>
Już sobie poszukałem, jak kogoś to interesuje multum przykładów w
różnych językach:
https://rosettacode.org/wiki/Combinations
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads