File size: 447 Bytes
497f2f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
get "libhdr"

let start() be 
$(  let doors = vec 100

    // close all doors
    for n = 1 to 100 do doors!n := 0

    // make 100 passes
    for pass = 1 to 100 do
    $(  let n = pass
        while n <= 100 do
        $(  doors!n := ~doors!n
            n := n + pass
        $)
    $)
    
    // report which doors are open
    for n = 1 to 100 do
        if doors!n then
            writef("Door %N is open.*N", n)
$)