技术探讨分享(概率问题)
2020-08-28 本文已影响0人
蜂鸟之歌
1. 概率问题
- 一个家庭只有一个孩子,这个孩子是男孩的概率是多少?
- 一个家庭有两个孩子,其中一个是男孩,另一个孩子是男孩的概率是多少?
- 三门问题
import kotlin.random.Random
fun main(args : Array<String>){
var right = 0
var error = 0
for (i in 1..10000) {
val answer = Random.nextInt(1, 5)
println("第${i}次:answer=$answer")
val intArray = arrayListOf<Int>()
while (true) {
val nextInt = Random.nextInt(1, 5)
if (!intArray.contains(nextInt)) intArray.add(nextInt)
if (intArray.size == 4) break
}
println("随机数组:$intArray")
for (j in 3 downTo 1) {
if (intArray[j] != answer) {
println("移除:${intArray[j]}")
intArray.removeAt(j)
}
if (intArray.size == 2) break
}
println("最终:$intArray")
if (intArray[0] == answer) {
error++
println("error=$error")
}
if (intArray[1] == answer) {
right++
println("right=$right")
}
println()
}
println("结论:去除2、3、4中不等于答案的两个值")
println("2、3、4中剩下的选项,等于答案的概率right=$right/10000")
println("第一个选项等于答案的概率error=$error/10000")
println()
}
2. 算法问题
- 怎样在不引入其他变量的情况下,让int a 和 int b 互换?
var a = 5
var b = 10
fun main(args : Array<String>){
var a = 5
var b = 10
a = a + b
b = a - b
a = a - b
println("a=$a")
println("b=$b")
println()
}
3. Github 库