我想检查数字(7)是否可以被另一个数字(5)整除,如果数字可以被数字整除,那么我需要返回相同的数字。如果该数字不能被另一个数字整除,我需要将其整除并返回更新的值。
var i =7;
if (i % 5 == 0) {
alert("divisible by 5");
} else {
alert("divisible not by 5");
}
如果条件满足,那么我需要返回相同的值。如果条件不满足,我需要添加所需的数字,然后使其成为可分割的。 (就像7不能被5整除所以我需要添加3到7并返回值10,它可以被5整除)。
是否存在任何数学函数来实现相同的功能?
答案 0 :(得分:3)
看起来你想要的是:
for (final WeakReference<Subscriber> sub : subscribers) {
if (sub.get() != null) {
sub.get().update());
}
}
对于function roundTo(n, d) {
return Math.floor((n + d - 1) / d) * d;
}
10和n
5,您将获得10分。对于d
7和n
5,您还得到10.代码所做的是将一个小于除数的值加到输入数字,然后除以除数。然后它除去任何小数部分(d
)并再次乘以除数。
答案 1 :(得分:2)
您可以使用此算法:
i % n = r
,其中i = 7
,n = 5
和r = 2
。
然后,制作i = i + (n - r)
。即i = 7 + (5-2)
→10
。然后你可以将它用于你的部门。
答案 2 :(得分:2)
你可以通过使用简单的while循环来实现:
function doThat(number, divider) {
while(number % divider !== 0) {
number++;
}
return number;
}
doThat(12, 5); // => returns 15
这是一个小提琴:https://jsfiddle.net/rdko8dmb/
答案 3 :(得分:1)
试试这个
var i =7;
if (i % 5 == 0) {
alert("divisible by 5");
} else {
var j = i % 5;
var num = i + (5-j);
alert("divisible not by 5 but the next divisible number is :" + num);
}
答案 4 :(得分:0)
我不知道这是否适用于所有数字...但你可以试试这个
7 % 5 = 2
。如果从2
中减去5
,您将获得3
...这是您需要添加到7
的数字。 16 % 5 = 1
从1
减去5 = 4 .. 4 + 16 = 20
另一个示例16 % 13 = 3 ... 13-3 = 10
16+10 = 26
26/13 = 2
答案 5 :(得分:0)
这是最快,最干净的方法:
function shift(number, divider)
{
return number + (divider - (number % divider)) % divider;
}
它需要数字,并将其向上移动(从我们的单位)分频器到剩余的差,以使其可以被分频器整除。 。 % divider
确保如果没有差异,数字不会被完整的除法器推高。