JS之递归(例题:猴子吃桃)
2024-09-04 10:13:31
例题1:公园里有200个桃子,猴子每天吃掉一半以后扔掉一个,问6天以后还剩余多少桃子?
var sum = 200;
for(var i= 0;i<6;i++)
{
sum = parseInt(sum/2)-1
}
alert(sum);
例题2:公园里有一些桃子,猴子每天吃掉一半以后扔掉一个,第6天的时候发现还剩下1个桃子,问开始有几个桃子?
var sum = 1;
for(var i = 0;i<6;i++)
{
sum = (sum+1)*2;
}
alert(sum);
使用函数解决例题2
function ShuLiang(n)//用来返回第n天的数量
{
if(n == 6)//已知第6天
{
return 1;//桃子数量为1
}
var sl = (ShuLiang(n+1)+1)*2;//第n天的桃子数量=(下一天的桃子数量+1)*2
return sl;//return第n天的数量
}
alert(ShuLiang(0));
函数功能:给一个天数,返回该天数的桃子的数量。最主要的是下一天的桃子数量怎么求,函数实现过程是
想要求第1天的桃子数量就需要2天桃子数量;
想要求第2天的桃子数量就需要3天桃子数量;
想要求第3天的桃子数量就需要4天桃子数量;
想要求第4天的桃子数量就需要5天桃子数量;
想要求第5天的桃子数量就需要6天桃子数量;
而第6天的桃子的数量已经知道了,是1。进而5-4-3-2-1-0的数量的桃子就能用公示算出来了。
最新文章
- 舍弃Nunit拥抱Xunit
- Linux命令学习总结:rm命令
- LINQ查询数组里面是否包含某值
- PowerShell实现文件下载(类wget)
- MyBatis插入语句返回主键值
- redis 多数据库
- MySQL 数据库操作命令汇总
- PHP学习笔记二十六【类的重载】
- Java SPI机制用法demo
- C#中IPAddress转换成整型int
- Spark Streaming实战演练
- .net core webapi+vue 跨域访问
- JavaScript在IE和Firefox的不兼容问题解决方法总结
- 自学Linux Shell11.4-重定向输入输出
- socket技术详解(看清socket编程)
- awk 文本处理工具
- BZOJ4919:[Lydsy1706月赛]大根堆(set启发式合并)
- Python - 计算个人所得税
- [原创] 基础中的基础(二):C/C++ 中 const 修饰符用法总结
- LOJ#3086. 「GXOI / GZOI2019」逼死强迫症(矩阵快速幂)
热门文章
- Java微笔记(3)
- JSON解析与序列化
- Java中的死锁问题
- ACM 第九天
- 关于JS里面写JAVA代码的问题
- PAT 甲级 1012 The Best Rank
- mysql 时区问题:The server time zone value &#39;???&#250;&#177;&#234;&#215;??&#177;??&#39; is unrecognized
- 【重读MSDN之ADO.NET】ADO.NET连接
- (一)Redis简介及安装
- POJ3469:Dual Core CPU——题解