zoukankan      html  css  js  c++  java
  • 算法笔记--基础数学知识

    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

      

  • 相关阅读:
    NYOJ 35
    TOJ 3072
    HDU 1075
    POJ 1028
    TOJ 1153
    TOJ 1036
    POJ 1521
    POJ 3253
    NYOJ 467
    HDU 1671
  • 原文地址:https://www.cnblogs.com/lyraLee/p/10054931.html
Copyright © 2011-2022 走看看