[到codewars打怪兽]利润是如何炼成的

[7 kyu]Money, Money, Money

利润是如何炼成的⌚️2016.03.15

怪兽的属性:

《[到codewars打怪兽]利润是如何炼成的》
《[到codewars打怪兽]利润是如何炼成的》
《[到codewars打怪兽]利润是如何炼成的》
&
《[到codewars打怪兽]利润是如何炼成的》

怪兽的妙技:

《[到codewars打怪兽]利润是如何炼成的》

大木博士的图鉴:

你是赵老爷家的算帐二狗子,赵家老爷想要进修一些理财学问,就去讯问孔乙己。这个就是孔乙己给赵老爷授课的时刻举的例题了:

您有一成本P,

你想要获得D那么多的钱,

而如今的利润是I,税率是T,

->

您想晓得您要等Y年?

如今,赵老爷要你设想个顺序来帮他解问题了!速速完成!要不滚开!

固然啦,我们想要的钱肯定是大于成本的,不过你也统筹一下二者相称的时刻的状况吧。

战役纪录仪回放:

function calculateYears(principal, interest, tax, desired) {
  var years = 0;
for(years;principal < desired;++years){
 principal += principal*interest*(1 - tax)
}
return years;
}

历史上的纪录

function calculateYears(principal, interest, tax, desired) {
    var P = principal,
        I = interest,
        T = tax,
        D = desired,
        Y = 0;
    for( ;P < D; ){
      P = P + P*I*(1-T)
      Y = Y+1;
    }
    return Y;
}

?竹节:

  1. 用 ‘+=’ 简化了部份。

  2. 直接运用参数名,由于其自身就已够语义化

失误

function calculateYears(principal, interest, tax, desired) {
  var years = 0;
for(years;principal <=1⃣️ desired;++years){ 
 principal += principal*interest*(1 - tax)
}
return years;
}

?竹节:

  1. <= 过界了二者相称、没必要守候的状况。

国际疆场的典范录相

cave.on, SithFire

function calculateYears(principal, interest, tax, desired) {
  return Math.ceil(
    Math.log②(desired / principal) / 
    Math.log(1 + interest * (1 - tax)①)
  );
}

?竹节:

  1. ∵ desired = pricipal (1 + interest (1 – tax)) ^ Y

    ∴ Y = (log(…) (…))

  2. Math.log() 函数返回一个数的自然对数。

    • 以下要领,可返回以 x 为底 y 的对数(既logx y):

function getBaseLog(x, y) {
    return Math.log(y) / Math.log(x);
} 
    原文作者:RDDcoding
    原文地址: https://segmentfault.com/a/1190000004890521
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞