Doh! Was only playing with 10 doors. This makes it 100.<br><br>| count doors |<br>count := 100.<br>&quot;Initialize the array of doors to 0 
(closed)&quot;<br>doors := (Array new: count) atAllPut:  false.<br><br>&quot;Process
 the doors&quot;<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>&quot;Print
 out the results&quot;<br>1 to: count do: <br>    [ :n |<br>
    Transcript <br>        show: &#39;door #&#39;, n, &#39; is &#39;;<br>        show: 
((doors at: door) ifTrue: [#open] ifFalse: [#closed]);<br>        cr]<br>