javascript - 如何找到可被X Javascript整除的最接近的较大数字
问题描述
我有一个这样的数学问题:当我输入一个数字时,我找到能被数字 x 整除的最接近的较大数字
示例:x = 50
输入 = 20 => 输出 = 50
输入 = 67 => 输出 = 100
输入 = 200 => 输出 = 200
输入 = 289 => 输出 = 300
输入 = 999 => 输出 = 1000
..... ..
我在下面有一个函数,但是有没有办法让它更快?
console.log(roundNumber(199));
function roundNumber(n) {
let x = 50;
let flg = false;
while (flg === false) {
if (n > x) {
x += 50;
} else {
flg = true;
}
}
return x;
}
解决方案
是的,您可以将该input
值除以 50,取“地板”,加 1,然后乘以 50。
function roundNumber(n) {
let x = 50;
return (Math.floor((n + x - 1) / x)) * 50;
}
这是否会更快是无关紧要的,除非出于某种原因,您在很短的时间间隔内执行了数千次此操作。
推荐阅读
- php - 尝试在从数据库获取数据时使用 php 显示图像
- javascript - react native:设置标签导航 5 样式的方法是什么?
- java - 我的颤振应用程序没有从 release.apk 中的 api 获取数据,但在调试模式下工作
- angular - 为什么我在使用带有 waitForAngularEnabled(true) 的量角器运行 e2e 测试时出现错误
- python - matplotlib 动画适用于 Windows 和 Linux,但不适用于 Mac OS
- erlang - Rebar3:如何从 erlang 引用库的源工件?
- html - 仅在网站上限制 Windows 用户的下载
- java - 在 Java 中打包 DLL,“System.load”和“System.loadLibrary”之间的区别
- azure - Azure 数据工厂 - 在动态内容中使用系统变量
- spring-boot - 如何更改发送网格电子邮件中的发件人地址