Doh! Was only playing with 10 doors. This makes it 100.<br><br>| count doors |<br>count := 100.<br>"Initialize the array of doors to 0
(closed)"<br>doors := (Array new: count) atAllPut: false.<br><br>"Process
the doors"<br>1 to: count do: <br> [ :pass |<br>
pass to: count by: pass do: <br> [ :door |<br> doors <br>
at: door <br> put: (doors at: door) not ] ].<br><br>"Print
out the results"<br>1 to: count do: <br> [ :n |<br>
Transcript <br> show: 'door #', n, ' is ';<br> show:
((doors at: door) ifTrue: [#open] ifFalse: [#closed]);<br> cr]<br>