mandelbrot.scala-2.scala
来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 64 行
SCALA
64 行
/* The Computer Language Shootout http://shootout.alioth.debian.org/ contributed by Isaac Gouy*/import java.io.BufferedOutputStreamobject mandelbrot { def main(args: Array[String]) = { val side = Integer.parseInt(args(0)) val limitSquared = 4.0 val max = 50 var bits = 0 var bitnum = 0 val w = new BufferedOutputStream(System.out) Console.println("P4\n" + side + " " + side) var y = 0 while (y < side){ var x = 0 while (x < side){ val cr = 2.0 * x / side - 1.5 val ci = 2.0 * y / side - 1.0 var zr = 0.0; var zi = 0.0 var tr = 0.0; var ti = 0.0 var j = max do { zi = 2.0 * zr * zi + ci zr = tr - ti + cr ti = zi*zi tr = zr*zr j = j - 1 } while (!(tr + ti > limitSquared) && j > 0) bits = bits << 1 if (!(tr + ti > limitSquared)) bits = bits + 1 bitnum = bitnum + 1 if (x == side - 1){ bits = bits << (8 - bitnum) bitnum = 8 } if (bitnum == 8){ w.write(bits.toByte) bits = 0 bitnum = 0 } x = x + 1 } y = y + 1 } w.close } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?