天之道,损有余而补不足;人之道,损不足而益有余

2023-10-31 14:20

本文主要是介绍天之道,损有余而补不足;人之道,损不足而益有余,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

想起大学时看过的一本书《上帝掷骰子吗》,
记得里面一个故事比喻是(懒得找书了,图书馆看的,大致复述一下)

A和B两个赌徒共100个硬币
起初A有50,B也有50
输赢规则:例如,A有80,B有20。则B有80%胜率、A有20%胜率。
谁赢一次就从对方手里取来1个硬币
随着赌局的进行……这样导致两者十分长久地存在下去,不会迅速有人输光

1.天之道,损有余而补不足

老早就想写个程序验证下了,正巧赶上疫情,赋闲在家~
我把胜率归结为手中的硬币数了,每回合赌局出随机数,数在A的硬币数内(A赢了)则A给B一枚硬币(赢的人给输的人)
我做了如下简化:

硬币多的胜率低----->以硬币作为胜率凭据
赢的人胜率更低----->赢的人给输的人一枚硬币

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;int abs(int num)//取绝对值
{if (num < 0) num = -1*num;return num;
}int main()
{srand((unsigned int)time(NULL));int zeroTOhundred=-1;int a=50, b=50;//a=1~50;b=50~100;int sum = 0;cout << a <<" "<< b << endl;for (;;sum++){zeroTOhundred = abs(rand() % 100);//1-100cout << "a:" << a << "  b:" << b << "  赌局结果:" << zeroTOhundred << endl;//赌局结果在谁的范围内【谁币多算谁赢】//结果在b的范围内,a从b取出1个硬币【赢了的输钱减胜率】if (zeroTOhundred > a) {a++;b--;}//结果在a的范围内else {a--;b++;}if (a == 0 || b == 0) break;//一方输光,赌局结束}cout << sum << endl;return 0;
}

理论上的可能步数是[50,+∞)。
运行上述代码……很难退出循环,a(也代表了另一方是(40,60)范围内)一直在(40,60)范围内。很难到某一方快输光的情况更别提输光了。

2.人之道,损不足而益有余

前几天看到李永乐老师的视频【如何才能摆脱贫穷?穷人和富人有什么差别?【诺贝尔经济学奖解读】】:https://www.bilibili.com/video/av74644387
联系《上帝掷骰子吗》和《道德经》中的这句话,来写这篇博客也是这视频触发的灵感。

在讲到最后给出了个调查结果的曲线,从这个类似逻辑斯蒂曲线的k/2的那个中点向两边趋近
视频中的内容大致就是
穷人刚有一点钱就去消费,没钱消费时就消费不了。
富人消费不会占用他多少财产,很快又可以恢复。
在这里插入图片描述

——我的话总结一下,就是越富有容错性越高

把之前代码的胜负规则颠倒一下(大于号改小于等于号,还有注释改了一下……),就是以下代码:

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;int abs(int num)//取绝对值
{if (num < 0) num = -1*num;return num;
}int main()
{srand((unsigned int)time(NULL));int zeroTOhundred=-1;int a=50, b=50;//a=1~50;b=50~100;int sum = 0;cout << a <<" "<< b << endl;for (;;sum++){zeroTOhundred = abs(rand() % 100);//1-100cout << "a:" << a << "  b:" << b << "  赌局结果:" << zeroTOhundred << endl;//赌局结果在谁的范围内【谁币多算谁赢】//结果在a的范围内,a从b取出1个硬币【赢了的拿钱加胜率】if (zeroTOhundred <= a) {a++;b--;}//结果在a的范围内else {a--;b++;}if (a == 0 || b == 0) break;//一方输光,赌局结束}cout << sum << endl;return 0;
}

理论上的可能步数是[50,+∞)。
运行上述代码……我试了十几次,主要在90+回合到200-回合范围内,只有2次超过200回合,可见“损不足而益有余”难以长久。
在这里插入图片描述

这篇关于天之道,损有余而补不足;人之道,损不足而益有余的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

在使用virtualbox安装ubuntu时出现I/Ocache不足的问题

在virtualbox下安装ubuntu时复制完文件就提示i/o不足了,真的不知道什么事,后来才发现原来是硬盘格式问题,原来硬盘格式是fat32,不支持大于4G的文件 如下图 然后只需要将硬盘格式改为NTFS就行了如下使用 convert  f:/fs:ntfs如下图 当系统重启的时候自动转换

揭秘!焦虑症背后的隐形推手:气血不足,你了解多少?

在这个快节奏、高压力的时代,焦虑症似乎成了许多人心头挥之不去的阴霾。失眠、心悸、易怒、持续担忧……这些症状不仅影响着我们的生活质量,更在无形中侵蚀着我们的身心健康。然而,你是否知道,这些看似心理层面的困扰,实则可能与一个古老而深刻的中医理念紧密相连——气血不足。今天,就让我们一起揭开焦虑症与气血不足之间那层神秘的面纱。 一、气血:生命之根本 在中医理论中,气血被视为人体生命活动的物质基础,是维

支付宝手机网站支付,错误代码 insufficient-isv-permissions 错误原因: ISV权限不足

原因:是因为没有开通签约手机网站支付这个产品 解决方案:如需签约请到:https://b.alipay.com/ 1,登录成功后--->产品大全---->我要收款下面的手机网站支付 2 , 点击 立即接入  然后填写相关的信息 3,大概等待一天的时间就有结果了

深度学习论文被评“创新性不足、工作量不够”怎么办?

投稿时遇到审稿人提出文章创新性不足、工作量不够,该怎么办? 今天我就来分享三种应对方法:下采样策略、归一化策略、改进网络模型。 改进网络模型 增加创新性: 从模型架构和训练策略这两方面入手: 模型架构创新:常见的方法有缝合其他网络、引入注意力、轻量化等,缝合网络加注意力在我之前的文章里详细说过,这边就不多说了。 轻量化策略就是对网络架构的重新设计或优化,比如深度可分离替换一般的3*3卷

解决 VMware 中 Ubuntu文件系统磁盘空间不足

目录 问题引入 解决方案 第一步、在VMware中扩展容量: 第二步、查看磁盘空间使用情况: 第三步、安装分区工具: 第四步、启动该分区工具: 第五步、操作分区: 第六步、修改挂载文件夹的读写权限: 第七步、扩展文件系统大小: 第八步、验证扩展是否成功: 问题引入 最近在做项目的过程中我的Ubuntu虚拟机的磁盘空间不够用了,仅剩下不到1GB,那我们该如何解决

Python随记:【Python异步编程(一)】——Python的不足

python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板。 但是python的优势是库(第三方库)极为丰富,运用十分方便。asyncio是python3.4版本引入到标准库的。

中国IT工程师的不足,果然还是浮躁,,,,

 最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解。我觉得编程能力对程序员而言,虽然很重要,但并不是全部。那么作为一个程序员,到底应该具备什么样的能力呢?这个话题显然太大。不过我觉得可以看看其它国家的程序员,也许可以得到一些借鉴。我有幸和中国,美国,印度和日本四国程序员有比较深入的合作过。虽然他们不一定有代表性,但我觉得他们的共性还是比较明

spark 大型项目实战(四十六):troubleshooting之解决YARN队列资源不足导致的application直接失败

如果说,你是基于yarn来提交spark。比如yarn-cluster或者yarn-client。你可以指定提交到某个hadoop队列上的。每个队列都是可以有自己的资源的。 跟大家说一个生产环境中的,给spark用的yarn资源队列的情况:500G内存,200个cpu core。 比如说,某个spark application,在spark-submit里面你自己配了,executor,80个

打开su的检查权限,su显示uid权限不足的时候

在alps/system/extra/su/su.c文件中 if (myuid != AID_ROOT && myuid != AID_SHELL) {fprintf(stderr,"su: uid %d not allowed to su\n", myuid);return 1;}换成 if (myuid != AID_SYSTEM && myuid

【微信小程序】吐槽生态之云开发服务端能力不足

回想起来,笔者开发小程序的经历也有4年多了,以前因为技术积累接触不到比较深层次的东西,也不理解软件生态这个概念,现在开发小程序的过程中,越来越觉得很多生态微信的进步空间很大。 问题引入 比如说,在迭代开发的过程中,提出新的需求难免会遇到需要在数据库中补充新字段的功能,这种字段可能是常量,也可能是变量。 解决措施 比如说笔者今天遇到的需求,就是将用户输入的detail变量抽出一个summar