检查value是否是某个整数值的倍数

时间:2013-09-11 09:29:24

标签: delphi

如何检查值是否为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;

2 个答案:

答案 0 :(得分:2)

要检查某个数字是否可被其他数字完全整除,请使用remainder operatormod

  

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;

答案 1 :(得分:1)

使用模数来确定除数中是否有余数

(number mod 6 = 0) // if expression is true then it is a multiple

所以例如在上面的例子中,如果number为7则返回1