我试图检查Xcode中各种随机化函数的分布是什么样子,所以我做了这个实验:
import UIKit
import XCPlayground
var distribution: [Int] = Array(count: 6, repeatedValue: 0)
for i in 1...100000 {
let randomNumber = arc4random_uniform(6)
distribution[Int(randomNumber)] += 1
XCPlaygroundPage.currentPage.captureValue(distribution[Int(randomNumber)], withIdentifier: "Random Distribution")
}我怎么才能让它保持水平呢?
发布于 2016-05-27 01:23:47
您在收集值时捕获了这些值,您想要的是最终值:
for i in 0..<6 {
XCPlaygroundPage.currentPage.captureValue(distribution[i], withIdentifier: "Distribution")
}发布于 2016-05-27 07:06:02
好的,我摆弄了一下,这个效果很好。
var distribution: [Int] = Array(count: 6, repeatedValue: 0)
let distributionSource = GKARC4RandomSource()
distributionSource.dropValuesWithCount(1024)
for i in 1...10000 {
let randomNumber = distributionSource.nextIntWithUpperBound(6)
distribution[Int(randomNumber)] += 1
}
for value in distribution {
XCPlaygroundPage.currentPage.captureValue(value, withIdentifier: "Random Distribution")
}现在我可以更改数字并查看我的曲线:-)
https://stackoverflow.com/questions/37466155
复制相似问题