首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过在循环内调用Math.pow()和Math.floor()来简化函数

通过在循环内调用Math.pow()和Math.floor()来简化函数
EN

Stack Overflow用户
提问于 2018-06-04 04:40:32
回答 1查看 187关注 0票数 -2

如何简化以下函数和对Math.pow()的重复调用

代码语言:javascript
复制
function x(a, b, c) {
    rv = Math.floor(a * Math.pow(2, b));

    for (i = 1; i < c; i++) {
        rv += Math.floor(a * Math.pow(1.2, b + i));
    }

    return rv;
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-05 03:59:09

如果您担心在大范围内计算全部1.2^(b+i),请考虑底层可能会在编译器优化中从以前的结果中推断出结果。但是,如果你想明确地帮助他,你可以这样做

代码语言:javascript
复制
function x (a, b, c) {
  var rv = Math.floor(a * Math.pow(2, b))
  var multiplier = Math.pow(1.2, b + 1)
  for (i = 1; i < c; i++) {
    rv += Math.floor(a * multiplier);
    multiplier *= 1.2
  }
  return rv;
}

只有数学。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50670772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档