JS中迭代法和递推的应用
来源:互联网 发布:怎么弄成网络回路 编辑:程序博客网 时间:2024/05/16 08:54
迭代法
1.求两个数的最大公约数
辗转相除法:
用较大的数对较小的数取余数,如果余数为0则最大公约数就是小的那个数。如果不为0,则让除数变为较大的数,余数变为较小的数,继续这样做下去直到余数为0
例如:24 和 16
24 % 16 8
16 % 8 == 0
迭代法,也叫辗转法
规律:不断的用旧的值去变成新的值,直到想要得到的结果。
方法:
(1) 找到迭代的变量(旧的值)被除数、除数和余数
(2) 确定迭代的关系 直接赋值
(3) 迭代的条件余数不为0
var m = Number(prompt("请输入一个整数"));
var n =Number(prompt("请输入一个整数"));
var res = maxGCD(m,n);
alert(res);
function maxGCD(m,n){
var max= Math.max(m,n);
var min= Math.min(m,n);
while(max% min !=0){ //被除数和除数的余数不为0
var t= max % min;
max = min;//除数变成被除数
min = t; //余数变成除数
}
return min;
}
递推
对于递推,最重要的就是找到数学公式,从当前项或当前几项推出下一项。
一般而言:兔子在出生2个月后就能生崽,一对兔子每个月能生出一对小兔子。
最开始有一对刚出生的兔子,假设所有的兔子都不死,问一年后有多少对兔子。
月份
0
1
2
3
4
5
6
幼崽
1
1
1
2
3
5
8
成兔
0
0
1
1
2
3
5
总和
1
1
2
3
5
8
13
var rabbit= [1,1];
for(vari=2;i<12;i++){
rabbit[i] =rabbit[i-1]+rabbit[i-2];
}
alert(rabbit[11]);
2.
猴子摘桃:一个猴子,第一天摘了若干个桃子当即吃了一半不过瘾又多吃了一个。第二天又吃掉剩下的一半,又多吃了2个,第三天还是吃掉一半又多吃了3个。到了第n天,发现只剩下一个桃子。请问,第一天摘了多少个桃子?(天数n由用户输入)
假设第七天剩下了一个桃子
天数
7
6
5
……
1
桃子个数
1
x/2-6
x/2-5
14
38
规律:X = (后一天桃子 + 今天是第几天) * 2;
var num= Number(prompt("请输入第几天桃子剩下了一个"));
var s= 1;
for(vardays =num-1;days>0;days--){
s= (s+days)*2;
}
alert(s);
3.关于存钱的问题:一个富豪,给他的儿子的四年大学生活活期存了一笔钱,富二代每个月只能取3000作为下个月的生活费,年利率是1.71%。富豪一次性要存多少钱。
月份
47
48
3000=(x-3000)*(1+0.0171/12)
3000
var money = 3000;
var rate= 0.0171/12;
for(varmonth = 47;month>0;month--){
money= money/(1+rate)+3000;
}
alert(money);
- JS中迭代法和递推的应用
- 迭代法的应用
- 迭代法的应用
- 四、枚举,递推、迭代法初步学习
- h5 迭代法、递归、递推、穷举法
- js中apply和call的应用
- js中every、filter、forEach、map和some迭代法 — 第5.2.8节
- 牛顿迭代法应用——求数的平方根和立方根
- leetcode小岛问题2道 (DFS的递归法和迭代法应用)
- js中call和apply的应用和区别
- JS递推方法
- 图像的二值化之大津法和迭代法
- 关于js中call和apply函数的应用
- JS中getElementById()、getElementsByName()、getElementsByTagName() 的区别和应用
- JS中getElementById()、getElementsByName()、getElementsByTagName()_的区别和应用
- js中apply和call方法的应用
- js中利用call和apply的应用--继承
- js中call和apply的常见应用
- mybatis异常:Could not find result map java.lang.String
- 树的应用--并查集
- hiveserver2 HA
- checkBox变为单选
- PHP中的魔术方法
- JS中迭代法和递推的应用
- Rxjava +Retrofit+ok+GreenDao视频播放
- 深圳SAR测试
- Linux system Mysql、PHP
- Res=Assets+Raw
- 用户注册+判断
- json
- APPNIUM安装(此文是根据虫师文章整理而成http://www.cnblogs.com/fnng/p/4552438.html)
- Java pdf转word实例