算法笔记--基础数学知识

1.向下取整

  数学符号: 

  ⌊59/60⌋=0 向下取整 等于js中的Math.floor()


  ⌈59/60⌉=1 向上取整 等于js中的Math.ceil()

2. 等差数列

  an = a1+(n-1)*d; // d是公差

  sum = (a1+an)*n/2 = n*a1 + n(n-1)*d/2;

  应用:

  如果遇到嵌套循环

1 for(i=0;i<n;i++) {
2     for(j=0;j<i ; j++){
3         // TODO
4     }
5 }

   计算上面的代码的循环次数为: 1+2+......+n,可以计算该算法的复杂度 

3.等比数列

  an = a1*qn-1; // q是公比

  S= a1(1-qn)/1-q

4. 对数运算(指数运算的逆运算)

  Math.log(Math.E) = 1;  // Math.log()是以e为底的对数

  logxY = logc(Y)/logc(X); // 换底公式

  logxY + logxZ = logx(Y*Z); // 对数求和

  logxY - logxZ = logx(Y/Z); // 对数求差

  logxYz=z*logxY

  

 

posted @ 2018-12-02 19:58  Lyra李  阅读(372)  评论(0编辑  收藏  举报