program primes42; loop init n := 42; p := 0; step n +:= 1; until p = 42 do if prime(n) then print(lpad(str(p +:= 1), 2) + ": " + lpad(commatize(n), 20)); n +:= n; end if; end loop; proc prime(n); if n<=4 then return n in [2,3]; end if; if n mod 2=0 or n mod 3=0 then return False; end if; loop init d := 5; while d*d <= n do if n mod d=0 then return false; end if; d +:= 2; if n mod d=0 then return false; end if; d +:= 4; end loop; return True; end proc; proc commatize(n); if n<1000 then return str n; end if; p := "00" + str(n mod 1000); return commatize(n div 1000) + "," + p(#p-2..#p); end proc; end program;