理想条件下计算愚公移山需要多久
理想条件下计算愚公移山需要多少时间。
太行山看成是一个底面是椭圆的椎体,长半轴a=400,000米,短半轴b=3000米,海拔3000米。
太行山距离渤海200,000米,每个人每天移动15kg(一个星期两个人用辆车移动210kg,去4天,回来3天)。
假设愚公有3个儿子,每个儿子都娶媳妇了,三十年算一代,每一代都生2个儿子。每一代活80岁,60岁退休。
每一代当中,一半的人负责从事生产活动,一半的人负责搬山。
package test.algorithmQuestion;import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;/*** @author *cruder* @version 1.0* @since 2021/1/30 17:07*/
public class Algorithm01 {private static final int A = 400_000;private static final int B = 3000;private static final int H = 3000;private static final double RHO = 2.30;private static final int GEN_NUM = 2;private static final int WOOK = 15;public static void main(String[] args) {double s = Math.PI*A*B;double v = s*H/3;double m = RHO*v;List<GenInfo> genInfoList = new ArrayList<>();genInfoList.add(new GenInfo(1,3));int days =0;int gen = 1;while(m>0){days++;int sum = genInfoList.stream().mapToInt(GenInfo::getNum).sum(); //搬山人数m -= sum*WOOK;if(days%(365*30)==0){System.out.println("第"+days+"天\t"+gen+"代\t搬山人数:"+sum+"\t\t\t山的质量:"+m);gen++;for (int i = 0; i < genInfoList.size(); i++) {if(genInfoList.get(i).getGen()==3){//第三代退休genInfoList.remove(i);}}genInfoList.stream().map(GenInfo::addGen).collect(Collectors.toList());genInfoList.add(new GenInfo(1,genInfoList.get(genInfoList.size()-1).getNum()*GEN_NUM));}System.out.println("第"+days+"天\t"+gen+"代\t搬山人数:"+sum+"\t\t\t山的质量:"+m);}}}class GenInfo{private int gen;private int num;public GenInfo(int gen, int num) {this.gen = gen;this.num = num;}public int addGen(){return this.gen++;}public int getGen() {return gen;}public void setGen(int gen) {this.gen = gen;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}
}
计算结果:
第10950天 1代 搬山人数:3 山的质量:8.670795231157829E12
第21900天 2代 搬山人数:9 山的质量:8.670793752907829E12
第32850天 3代 搬山人数:21 山的质量:8.670790303657829E12
第43800天 4代 搬山人数:42 山的质量:8.670783405157829E12
第54750天 5代 搬山人数:84 山的质量:8.670769608157829E12
第65700天 6代 搬山人数:168 山的质量:8.670742014157829E12
第76650天 7代 搬山人数:336 山的质量:8.670686826157829E12
第87600天 8代 搬山人数:672 山的质量:8.670576450157829E12
第98550天 9代 搬山人数:1344 山的质量:8.670355698157829E12
第109500天 10代 搬山人数:2688 山的质量:8.669914194157829E12
第120450天 11代 搬山人数:5376 山的质量:8.669031186157829E12
第131400天 12代 搬山人数:10752 山的质量:8.667265170157829E12
第142350天 13代 搬山人数:21504 山的质量:8.663733138157829E12
第153300天 14代 搬山人数:43008 山的质量:8.656669074157829E12
第164250天 15代 搬山人数:86016 山的质量:8.642540946157829E12
第175200天 16代 搬山人数:172032 山的质量:8.614284690157829E12
第186150天 17代 搬山人数:344064 山的质量:8.557772178157829E12
第197100天 18代 搬山人数:688128 山的质量:8.444747154157829E12
第208050天 19代 搬山人数:1376256 山的质量:8.218697106157829E12
第219000天 20代 搬山人数:2752512 山的质量:7.766597010157829E12
第229950天 21代 搬山人数:5505024 山的质量:6.862396818157829E12
第240900天 22代 搬山人数:11010048 山的质量:5.053996434157829E12
第251850天 23代 搬山人数:22020096 山的质量:1.437195666157829E12
............
第254023天 24代 搬山人数:44040192 山的质量:1.7056079178291016E9
第254024天 24代 搬山人数:44040192 山的质量:1.0450050378291016E9
第254025天 24代 搬山人数:44040192 山的质量:3.8440215782910156E8
第254026天 24代 搬山人数:44040192 山的质量:-2.7620072217089844E8
可以看出,第二十三代人以后才开始太行山才开始出现动摇,四千多万子孙奋战了2000多天,七年的时间才把山移完。
理想条件下计算愚公移山需要多久相关推荐
- 下一个交易日是多久?一个交易日是多长时间
进行投资理财时,不可避免地会遇到交易日这个概念,例如下一个交易日确认.下一个交易日到账等等.不过有很多人对于下一个交易日是多久,以及交易日的计算规则并不了解,接下来就和希财君一起来了解一下一个交易日是 ...
- R语言使用pwr包的pwr.t.test函数对分组样本数相同的t检验进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量
R语言使用pwr包的pwr.t.test函数对分组样本数相同的t检验进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).效用值(power)的情 ...
- R语言使用pwr包的pwr.t.test函数对分组样本数相同的t检验进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、样本量的情况下计算假设检验的效用值
R语言使用pwr包的pwr.t.test函数对分组样本数相同的t检验进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).样本量(sample s ...
- R语言使用pwr包的pwr.chisq.test函数对卡方检验进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量
R语言使用pwr包的pwr.chisq.test函数对卡方检验(Chi-square tests)进行效用分析(power analysis).在已知效应量(effect size).显著性水平(si ...
- R语言使用pwr包的pwr.r.test函数对相关信息分析进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量
R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).效用值 ...
- R语言使用pwr包的pwr.f2.test函数对线性回归模型进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量
R语言使用pwr包的pwr.f2.test函数对线性回归模型(Linear models)进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).效 ...
- UA MATH575B 数值分析下 计算统计物理例题2
UA MATH575B 数值分析下 计算统计物理例题2 理论解法 C-K方程法 特征值法(近似解) 模拟解法 Rejection Sampling Importance Sampling 一个位于原点 ...
- UA MATH575B 数值分析下 计算统计物理例题1
UA MATH575B 数值分析下 计算统计物理例题1 统计物理方法的解析解 Markov链 理论解 数值解 Monte Carlo模拟. 一道有趣的统计物理的题目.下面这个简单的迷宫中,一只老鼠一开 ...
- 乌镇现场·帅初:公有链的未来——链上校验,链下计算
乌镇现场·帅初:公有链的未来--链上校验,链下计算 6月29日,"世界区块链大会•乌镇"盛大开幕,本次峰会由国内资深的区块链门户媒体巴比特主办,全球多家行业知名机构协办.大会邀请到 ...
- PS图像菜单下计算命令
PS图像菜单下计算命令通过通道的混合模式得到的选区非常精细,从而调色的时候过度非常好.功能十分强大. 下面用计算命令中的"相加"和"减去"模式做实例解析,这 ...
最新文章
- 模板 - 有向图的连通性
- Hawk原理:通过IEnumerable实现通用的ETL管道
- netty web 容器_Netty 实战:如何编写一个麻小俱全的 web 框架
- jquery filter和not
- 双11特刊|十年磨一剑,云原生多模数据库Lindorm 2021双11总结
- jsonrpc php使用,基于php的json rpc原理及应用
- 2023考研高数思维导图
- 谷歌浏览器配置微信浏览器_微信网页版 - Chrome社交与通讯插件 - 画夹插件网
- Photoshop脚本 合并链接图层
- Java中文繁简体转换工具
- 使用手机模拟NFC加密门禁卡
- 查漏补缺——字符串www.qq.com所有非空子串
- Algorithm:C++语言实现之Hash哈希算法相关(dbj2、sdbm、MurmurHash)
- 浅析jQuery删除节点的三个方法
- opencv 开操作-闭操作 礼帽-黑帽作用
- 云栖大会上,马云和王坚都说了啥?
- CSP-S 2019 考前复习日记
- 基于javaweb的生鲜商城系统(java+jsp+bootstrap+servlet+mysql)
- 手游爆发“平台战”启幕
- QT 生成word文档
热门文章
- 思科3524交换机配置vlan
- 任意数字大小写字母的随机数的产生
- [翻译]A MAP BASED ON LASERSCANS WITHOUT GEOMETRIC INTERPRETATION
- Kafka集群安装部署、Kafka生产者、Kafka消费者
- Mysql优化(出自官方文档) - 第四篇
- Java中如何判断两个对象是否相等(Java equals and ==)
- JVM 新生代,老年代,永久代
- JavaWeb框架之Struts2 ---- 系列学习
- Oracle grant connect, resource to user语句中的权限
- AI 时代,程序员从小白到小牛的发展攻略丨今晚直播送机械键盘!