如何检查一个值是 6 还是 7 的倍数。
例子
....
var
numbers
being
if (numbers is a multiple of 6 or 7) then begin
memo1.lines.add(inttostr(numbers));
numbers := numbers+1;
end;
如何检查一个值是 6 还是 7 的倍数。
例子
....
var
numbers
being
if (numbers is a multiple of 6 or 7) then begin
memo1.lines.add(inttostr(numbers));
numbers := numbers+1;
end;
使用模数确定除以数字后是否有余数
(number mod 6 = 0) // if expression is true then it is a multiple
因此,例如在上面的示例中,如果数字为 7,它将返回 1
要检查一个数是否能被另一个数整除,请使用余数运算符, mod
:
mod运算符返回通过将其操作数相除而获得的余数。
您需要测试的条件是除数除以后的余数为 0。
举个具体的例子,12 能被 6 整除,因为除法后的余数是 0。但是 13 不能被 6 整除,13 除以 6 后的余数是 1。
所以,你可以使用这样的函数:
function IsExactlyDivisibleBy(Number: Integer; Divisor: Integer): Boolean;
begin
Assert(Divisor>0);
Result := Number mod Divisor = 0;
end;