最简单的 1- n 个数之间的相加
第一种使用 for 循环相加
function fn(n){
let ret = 0
for(var i = 0; i<=n; i++){
ret += i
}
return ret
}
console.log(fn(100)); // 5050
第二种使用数学公式来做
console.time('time');
function fn(n){
return n*(n+1)/2
}
console.log(fn(100));
console.timeEnd('time');
打印的结果如下
5050
02.html:20 time: 0.527099609375 ms
02.html:29 5050
02.html:30 time: 0.10107421875 ms
很明显我们的算法运行速度要快。
简单的讲解一写一个算法是怎么来的。
就是数学推理来的。
我举了一个 1-8 之间的数,来求得公式如下