Function randN (n As Ubyte) As Ubyte If Int(Rnd * n) + 1 <> 1 Then Return 0 Else Return 1 End Function Function unbiased (n As Ubyte) As Ubyte Dim As Ubyte a, b Do a = randN (n) b = randN (n) Loop Until a <> b Return a End Function Const count = 100000 Dim x As Ubyte Randomize Timer Print "Resultados de n";Chr(163);!"meros aleatorios sesgados e imparciales\n" For n As Ubyte = 3 To 6 Dim As Integer b_count(1) Dim As Integer u_count(1) For m As Integer = 1 To count x = randN (n) b_count(x) += 1 x = unbiased (n) u_count(x) += 1 Next m Print "N ="; n Print " Biased =>", "#0="; Str(b_count(0)), "#1="; Str(b_count(1)), Print Using "ratio = ##.##%"; (b_count(1) / count * 100) Print "Unbiased =>", "#0="; Str(u_count(0)), "#1="; Str(u_count(1)), Print Using "ratio = ##.##%"; (u_count(1) / count * 100) Next n Sleep