股市暴跌,为啥散户炒股票总赔钱?李永乐老师用数学告诉你

2018-08-1613:16:06来源:川川籽 评论 2,471 views

建议WIFI下观看,土豪请随意哟^_^ 李永乐老师微博:https://weibo.com/u/3325704142

https://share.vrs.sohu.com/my/v.swf&topBar=1&id=101342155&autoplay=false&from=page

根据视频中得出的结论,写了小段代码认证下结论是否正确,经过认证,还真是如此,奇幻!
大概就是,两人抛硬币对赌,规则如下:
1)A=正面 B=正面 :A赢3;
2)A=反面 B=反面 :A赢1;
3)其他情况:B赢2;
一个看似公平的游戏,但是如果A将出A面的几率控制在 1/3 ~ 2/5的时候,B赢钱的几率会接近于0~
大家可以在这个在线代码(https://tour.golang.org/)(注:近期发现该网站无法访问,有更好的网站,还请留言给我)运行网站中测试下下面这个代码:

package main

import (
    "fmt"
    "math/rand"
    "time"
)

var min, max float64

func RandomInt(max int) int {
    rand.Seed(time.Now().UnixNano())
    return rand.Intn(max) + 1
}

func manT() int {
    return RandomInt(2)
}

// 1:正面 2:反面
func womanT() int {
    //先获取一个概率,概率在 1/3 ~ 2/5 之间
    var p float64
    for p < min || p > max {
        p = float64(RandomInt(100)) / 100.0
    }
    //fmt.Printf("Probability: %.2f\n", p)
    //将概率*100,得到一个分水岭数字,比如35
    var P int = int(100 * p)
    //然后随机获取一个数字
    //如果大于P(比如:35),那么抛出反面(2);反之抛出正面(1)
    v := RandomInt(100)
    if v > P {
        return 2
    }
    return 1
}
func main() {
    min, max = 1.0/3.0, 2.0/5.0
    fmt.Println(min, max)
    wm := make(map[int]int)
    var man_money int = 0
    var woman_money int = 0
    for i := 0; i < 100; i++ {
        n1 := womanT()
        n2 := manT()
        wm[n1]++ //记录美女所抛硬币
        switch {
        case n1 == 1 && n2 == 1:
            man_money += 3
            woman_money -= 3
        case n1 == 2 && n2 == 2:
            man_money += 1
            woman_money -= 1
        default:
            man_money -= 2
            woman_money += 2
        }
    }
    fmt.Println("玩了100次,美女抛出 '正面' 和 '反面' 的次数和概率如下:")
    fmt.Printf("正面 次数:%d 概率: %.2f\n", wm[1], float64(wm[1])/100.0)
    fmt.Printf("反面 次数:%d 概率: %.2f\n", wm[2], float64(wm[2])/100.0)
    fmt.Println("男子和美女所得金额如下:")
    fmt.Println("Man: ", man_money)
    fmt.Println("Woman: ", woman_money)
}

备用在线运行golang地址:
1. http://www.runoob.com/try/runcode.php?filename=helloworld&type=go

历史上的今天
8 月
16

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: