javascript - 获取一个数字与另一个数字相乘直到达到一定限制的次数

标签 javascript math

我可以得到一个数字与另一个数字相乘的次数,直到达到一定的限制:

var velocity = -5.706875;
var friction = 0.9925;
var limit = 0
var times = 0;

while (Math.floor(Math.abs(velocity)*10) > limit) {
    velocity *= friction;
    times += 1;
}
// times = 538

有没有办法在不循环的情况下获取时间? 尝试了 Math.log(5.706875, 0.9925) 但它给出了另一个结果。

最佳答案

当然,你在这里:

times = Math.ceil(Math.log(-0.1/velocity)/Math.log(friction));

编辑:

实际上,考虑到 limit var,它将是:

times = Math.ceil(Math.log(-(0.1+limit/10)/velocity)/Math.log(friction));

关于javascript - 获取一个数字与另一个数字相乘直到达到一定限制的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29173503/

相关文章:

javascript - 如何将 'this' 与 onClick 结合使用以从正确的 href 获取属性

javascript - Fabric.js 鼠标右键

java - 递归斐波那契内存

c# - 数学 - 使用三角函数在单个 View 中显示多个对象

php - 如何将我的应用程序限制为单个浏览器选项卡?

javascript - if 语句的 Soy 模板语法

javascript - HTML keyup/keydown 有很多方法来检测按键类型。我应该使用哪个?

python - python 中的轨迹相交

c++ - 根据条件枚举一组排列

math - 获取对应于从 p1 到 p2 的距离的 1/3 的点