素数の表示

main
  Display.Mode(0)
  Canvas.Init
  N=1000
  flag=Array.New(N+1)
  for i=0 to N
    flag[i]=TRUE
  Canvas.WriteLn(2)
  for i=0 to N
    if flag[i]
      p=i+i+3
      Canvas.WriteLn(p)
      k=i+p
      while k<=N
        flag[k]=FALSE
        k=k+p
  Key.Wait

エラトステネスのふるいによる、素数の表示です。