我可以得到一个数字与另一个数字相乘的次数,直到达到一定的限制:
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/