Knuth's algorithm S: Difference between revisions

(→‎{{header|PARI/GP}}: 100,000 times)
Line 494:
 
=={{header|PARI/GP}}==
{{incompleteimprove|PARI/GP|Does not return a function.}}
<lang parigp>KnuthS(v,n)={
my(u=vector(n,i,i));
Line 502:
vecextract(v,u)
};
test()={
KnuthS([0,1,2,3,4,5,6,7,8,9],3)</lang>
my(v=vector(10),t);
for(i=1,1e5,
t=KnuthS([0,1,2,3,4,5,6,7,8,9],3)</lang>;
v[t[1]+1]++;v[t[2]+1]++;v[t[3]+1]++
);
for(i=0,9,print(i" "v[i+1]))
};</lang>
 
Output:
<pre>%10 = [8, 4, 2]</pre>30048
1 29902
2 30168
3 29950
4 30003
5 30094
6 29905
7 30286
8 29839
9 29805</pre>
 
=={{header|Perl}}==