import Data.List import Text.Printf l x y =sqrt$x*x+y*y g v =nub$sort$filter(\q->q>=v&&q<v+1)$map(uncurry l)[(x,y)|x<-[1..v],y<-[0..x]] main =mapM_(\x->printf "%.6f\n" x::IO ())$take 300$concat$map g[(1.0::Double)..]
Note that non-ascii characters in the above source code will be escaped (such as \x9f).