100 prisoners: Difference between revisions
1-based index
(1-based index) |
|||
Line 2,007:
See [[#Pascal]].
=={{header|EasyLang}}==
<syntaxhighlight lang="easylang">for i
drawer[] &= i
sampler[] &= i
Line 2,014:
for i = len drawer[] downto 2
r = random i
swap drawer[r] drawer[i
.
.
subr play_random
call shuffle_drawer
found = 0
for i =
r = random (100 - i)
card = drawer[sampler[r]]
Line 2,030 ⟶ 2,027:
if card = prisoner
found = 1
.
▲ i += 1
.
.
.
.
subr play_optimal
call shuffle_drawer
reveal = prisoner
found = 0
for i =
card = drawer[reveal]
if card = prisoner
found = 1
break 1
.
reveal = card
▲ i += 1
.
break 1
.
.
.
n = 10000
for
call play_random
.
print "random: " & 100.0 *
#
for
call play_optimal
.
print "optimal: " & 100.0 *
{{out}}
<pre>
|