验证scala.math.random生成的随机数是均匀分布的

来源:互联网 发布:c语言sqrt函数 编辑:程序博客网 时间:2024/05/16 07:35
import scala.mathval r = math.randomval r1 = math.randomval v = for(i <- 0 until 1000) yield (math.random*1000).round.toIntval l10 = v.foldLeft(0)((sum ,v) => if(v <100 ) sum+1 else sum + 0)val l20 = v.foldLeft(0)((sum ,v) => if(v >=100 && v<200 ) sum+1 else sum + 0)val l30 = v.foldLeft(0)((sum ,v) => if(v >=200 && v<300 ) sum+1 else sum + 0)val l40 = v.foldLeft(0)((sum ,v) => if(v >=300 && v<400 ) sum+1 else sum + 0)val l50 = v.foldLeft(0)((sum ,v) => if(v >=400 && v<500 ) sum+1 else sum + 0)val l60 = v.foldLeft(0)((sum ,v) => if(v >=500 && v<600 ) sum+1 else sum + 0)val l70 = v.foldLeft(0)((sum ,v) => if(v >=600 && v<700 ) sum+1 else sum + 0)val l80 = v.foldLeft(0)((sum ,v) => if(v >=700 && v<800 ) sum+1 else sum + 0)val l90 = v.foldLeft(0)((sum ,v) => if(v >=800 && v<900 ) sum+1 else sum + 0)

val l100 = v.foldLeft(0)((sum ,v) => if(v >=900 ) sum+1 else sum + 0)

l10: Int = 89l20: Int = 115l30: Int = 97l40: Int = 103l50: Int = 84l60: Int = 100l70: Int = 104l80: Int = 91l90: Int = 109l100: Int = 108

0 0