我怎么知道一个数字是否是其他数字的倍数?

时间:2010-10-22 10:21:01

标签: operators math modulo

我尝试使用6%2,但它总是将值设为2而不是0.为什么以及如何才能得到解决方案?

3 个答案:

答案 0 :(得分:3)

if(!(y%x))
{
...
}

在您的情况下,!(6%2)会返回 true

(答案与问题中的原文非常相似)

答案 1 :(得分:1)

我想知道你想知道Y = kX对于给定的X是否具有k的整数值,因此Y = 5,X = 3失败(k是5/3),但是Y = 6,X = 2遍(k正好是3)。你很高兴k是积极的还是消极的。

这样,使用Y余数X == 0是一个很好的测试。顺便说一句,小心负剩余(例如Y%2 == 1作为对于负数的奇数测试失败,使用Y%2!= 0来确定)

Java中的代码示例

public class Example {

  public static void main(String[] args) {
    System.out.println(isIntegerFactor(5,3));  // k is not an integer
    System.out.println(isIntegerFactor(6,3));  // k is 2
    System.out.println(isIntegerFactor(-6,-3)); // k is 2 
    System.out.println(isIntegerFactor(-6,3)); // k is -2
    System.out.println(isIntegerFactor(6,-3)); // k is -2
  }

  public static boolean isIntegerFactor(int y, int x) {
    return (y % x) == 0;
  }

}

答案 2 :(得分:0)

bool prime = PrimeTool.IsPrime(input_Number);
        if (!prime)
        {
            Console.Write("multiple of other number");
            Console.WriteLine(i);
        }