Permutation test: Difference between revisions

Content deleted Content added
MaiconSoft (talk | contribs)
Added Delphi example
Jjuanhdez (talk | contribs)
Permutation test en FreeBASIC
Line 664: Line 664:
PermTest(a, b);
PermTest(a, b);
[ "87.197", "12.802" ]</lang>
[ "87.197", "12.802" ]</lang>


=={{header|FreeBASIC}}==
{{trans|Phix}}
<lang freebasic>
Dim Shared datos(18) As Integer => {85, 88, 75, 66, 25, 29, 83, 39, 97,_
68, 41, 10, 49, 16, 65, 32, 92, 28, 98}

Function pick(at As Integer, remain As Integer, accu As Integer, treat As Integer) As Integer
If remain = 0 Then
If accu > treat Then Return 1 Else Return 0
End If
Dim a As Integer
If at > remain Then a = pick(at-1, remain, accu, treat) Else a = 0
Return pick(at-1, remain-1, accu+datos(at), treat) + a
End Function

Dim As Integer treat = 0, le, gt, total = 1, i

For i = 1 To 9
treat += datos(i)
Next i
For i = 19 To 11 Step -1
total *= i
Next i
For i = 9 To 1 Step -1
total /= i
Next i

gt = pick(19, 9, 0, treat)
le = total - gt

Print Using "<= : ##.######% #####"; 100*le/total; le
Print Using " > : ##.######% #####"; 100*gt/total; gt
Sleep
</lang>
{{out}}
<pre>
<= : 92.076035% 85058
> : 7.923965% 7320
</pre>



=={{header|Go}}==
=={{header|Go}}==