Ik heb een array met 8 elementen.
De bedoeling is dat de gebruiker kan aangeven hoeveel elementen hij uit die 8 wil halen en hiervan moeten dan alle mogelijke combinaties weergegeven worden.
Ik heb al wel een manier gevonden om dit te realiseren maar deze is zwaar inefficient.
Het moet ook met een functie kunnen maar dat lukt me maar niet.
Inefficiente code:
Code die ik tot nu toe heb, maar niet werkt
Edit: search werkt niet
De bedoeling is dat de gebruiker kan aangeven hoeveel elementen hij uit die 8 wil halen en hiervan moeten dan alle mogelijke combinaties weergegeven worden.
Ik heb al wel een manier gevonden om dit te realiseren maar deze is zwaar inefficient.
Het moet ook met een functie kunnen maar dat lukt me maar niet.
Inefficiente code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
| <?php error_reporting(E_ALL); function my_loop($size) { $numbers = array('1','5','20','500','2.500','5.000','10.000','2.500.000'); $count = count($numbers); $combinations=0; if($size==6) { echo "Combinaties van $size<br>\n"; for($i=0;$i<$count;$i++) { for($j=$i+1;$j<$count;$j++) { for($k=$j+1;$k<$count;$k++) { for($l=$k+1;$l<$count;$l++) { for($m=$l+1;$m<$count;$m++) { for($n=$m+1;$n<$count;$n++) { echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br>$numbers[$l]<br>$numbers[$m]<br>$numbers[$n]<br><br>\n"; $combinations++; } } } } } } } if($size==5) { echo "Combinaties van $size<br>\n"; for($i=0;$i<$count;$i++) { for($j=$i+1;$j<$count;$j++) { for($k=$j+1;$k<$count;$k++) { for($l=$k+1;$l<$count;$l++) { for($m=$l+1;$m<$count;$m++) { echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br>$numbers[$l]<br>$numbers[$m]<br><br>\n"; $combinations++; } } } } } } if($size==4) { echo "Combinaties van $size<br>\n"; for($i=0;$i<$count;$i++) { for($j=$i+1;$j<$count;$j++) { for($k=$j+1;$k<$count;$k++) { for($l=$k+1;$l<$count;$l++) { echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br>$numbers[$l]<br><br>\n"; $combinations++; } } } } } if($size==3) { echo "Combinaties van $size<br>\n"; for($i=0;$i<$count;$i++) { for($j=$i+1;$j<$count;$j++) { for($k=$j+1;$k<$count;$k++) { echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br><br>\n"; $combinations++; } } } } if($size==2) { echo "Combinaties van $size<br>\n"; for($i=0;$i<$count;$i++) { for($j=$i+1;$j<$count;$j++) { echo "$numbers[$i]<br>$numbers[$j]<br><br>\n"; $combinations++; } } } if($size==1) { echo "Combinaties van $size<br>\n"; for($i=0;$i<$count;$i++) { echo "$numbers[$i]<br><br>\n"; $combinations++; } } echo "Totaal aantal combinaties: $combinations<br><br>\n"; } my_loop($input); ?> |
Code die ik tot nu toe heb, maar niet werkt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <?php function my_loop($size) { $numbers = array('1','5','20','500','2.500','5.000','10.000','2.500.000'); $count = count($numbers); $current=0; for($i=$current;$i<$count;$i++) { echo "$numbers[$i]<br>"; $current++; if($current<=$size) { my_loop($size); } } } my_loop($input); ?> |
Edit: search werkt niet
[ Voor 13% gewijzigd door mrbombastic op 07-04-2004 17:59 ]
Before me there was many, after me there will be none. I'm the one!