散户炒股票为啥总赔钱?李永乐老师用数学告诉你原因~

2023-10-15 06:40

本文主要是介绍散户炒股票为啥总赔钱?李永乐老师用数学告诉你原因~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

看了个视频:《散户炒股票为啥总赔钱?李永乐老师用数学告诉你原因~》(https://weibo.com/3325704142/Gecagg1CK)

根据视频中得出的结论,写了小段代码认证下结论是否正确,经过认证,还真是如此,奇幻!

 

大概就是,两人抛硬币对赌,规则如下:

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 mainimport ("fmt""math/rand""time"
)var min, max float64func 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 float64for p < min || p > max {p = float64(RandomInt(100)) / 100.0}//fmt.Printf("Probability: %.2f\n", p)//将概率*100,得到一个分水岭数字,比如35var 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.0fmt.Println(min, max)wm := make(map[int]int)var man_money int = 0var woman_money int = 0for i := 0; i < 100; i++ {n1 := womanT()n2 := manT()wm[n1]++ //记录美女所抛硬币switch {case n1 == 1 && n2 == 1:man_money += 3woman_money -= 3case n1 == 2 && n2 == 2:man_money += 1woman_money -= 1default:man_money -= 2woman_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)
}

  

 

跑了几次,只要美女控制住概率,发现果然都是美女在赢钱!

转载于:https://www.cnblogs.com/yzhch/p/9069586.html

这篇关于散户炒股票为啥总赔钱?李永乐老师用数学告诉你原因~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216003

相关文章

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

IDEA中Maven Dependencies出现红色波浪线的原因及解决方法

《IDEA中MavenDependencies出现红色波浪线的原因及解决方法》在使用IntelliJIDEA开发Java项目时,尤其是基于Maven的项目,您可能会遇到MavenDependenci... 目录一、问题概述二、解决步骤2.1 检查 Maven 配置2.2 更新 Maven 项目2.3 清理本

Java空指针异常NullPointerException的原因与解决方案

《Java空指针异常NullPointerException的原因与解决方案》在Java开发中,NullPointerException(空指针异常)是最常见的运行时异常之一,通常发生在程序尝试访问或... 目录一、空指针异常产生的原因1. 变量未初始化2. 对象引用被显式置为null3. 方法返回null