Permutations: Difference between revisions
Content added Content deleted
m (→An Uncommon Ordering: typo) |
|||
Line 9,153: | Line 9,153: | ||
permute 10,False |
permute 10,False |
||
Number of permutations: 3628800 |
Number of permutations: 3628800 |
||
</pre> |
|||
=={{header|VBScript}}== |
|||
A recursive implementation. Arrays can contain anything, idid it with simple variables. Elements could be arrays but then the printing routine should be recursive... |
|||
<lang vb> |
|||
'permutation ,recursive |
|||
a=array("Hello",1,True,3.141592) |
|||
cnt=0 |
|||
perm a,0 |
|||
wscript.echo vbcrlf &"Count " & cnt |
|||
sub print(a) |
|||
s="" |
|||
for i=0 to ubound(a): |
|||
s=s &" " & a(i): |
|||
next: |
|||
wscript.echo s : |
|||
cnt=cnt+1 : |
|||
end sub |
|||
sub swap(a,b) t=a: a=b :b=t: end sub |
|||
sub perm(byval a,i) |
|||
if i=ubound(a) then print a: exit sub |
|||
for j= i to ubound(a) |
|||
swap a(i),a(j) |
|||
perm a,i+1 |
|||
swap a(i),a(j) |
|||
next |
|||
end sub |
|||
</lang> |
|||
Output |
|||
<pre> |
|||
Hello 1 Verdadero 3.141592 |
|||
Hello 1 3.141592 Verdadero |
|||
Hello Verdadero 1 3.141592 |
|||
Hello Verdadero 3.141592 1 |
|||
Hello 3.141592 Verdadero 1 |
|||
Hello 3.141592 1 Verdadero |
|||
1 Hello Verdadero 3.141592 |
|||
1 Hello 3.141592 Verdadero |
|||
1 Verdadero Hello 3.141592 |
|||
1 Verdadero 3.141592 Hello |
|||
1 3.141592 Verdadero Hello |
|||
1 3.141592 Hello Verdadero |
|||
Verdadero 1 Hello 3.141592 |
|||
Verdadero 1 3.141592 Hello |
|||
Verdadero Hello 1 3.141592 |
|||
Verdadero Hello 3.141592 1 |
|||
Verdadero 3.141592 Hello 1 |
|||
Verdadero 3.141592 1 Hello |
|||
3.141592 1 Verdadero Hello |
|||
3.141592 1 Hello Verdadero |
|||
3.141592 Verdadero 1 Hello |
|||
3.141592 Verdadero Hello 1 |
|||
3.141592 Hello Verdadero 1 |
|||
3.141592 Hello 1 Verdadero |
|||
Count 24 |
|||
</pre> |
</pre> |
||