【问题标题】:How can I know whether one number is a multiple of other number?我怎么知道一个数字是否是另一个数字的倍数?
【发布时间】:2010-10-22 10:21:00
【问题描述】:

我尝试使用 6%2,但它总是将值设为 2 而不是 0。为什么以及如何解决这个问题?

【问题讨论】:

  • 6%2 等于 0 并且该方法是正确的,显示您的完整实际代码 - 错误一定在其他地方
  • 对不起,是 5/3。非常抱歉。
  • 这意味着您的输出 2 是正确的。你不懂模数吗?
  • 是的,我明白了。但不知道为什么我会这样想。
  • 为什么这个标签是iphoneipad

标签: operators math modulo


【解决方案1】:
如果(!(y%x)) { ... }

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

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

【讨论】:

    【解决方案2】:

    我假设您想知道 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;
      }
    
    }
    

    【讨论】:

      【解决方案3】:
      bool prime = PrimeTool.IsPrime(input_Number);
              if (!prime)
              {
                  Console.Write("multiple of other number");
                  Console.WriteLine(i);
              }
      

      【讨论】:

      • 我不认为他要求@william。他在问y 是否是x 的倍数(即,如果y = kx 是某个整数k),而不是x 是否有除1 和@987654327 之外的其他除数@
      • 我不明白你的意思.. 你说.. y=kx,x 是质数。所以..什么是k?
      • @william:您不能单独使用数字的素数/复合状态来确定它是否是特定其他数字的整数倍。让y = 8x = 3y 不是素数,但它的因数是 1、2、4 和 8,因此 8 不是 3 的倍数。同样,没有整数 k 可以满足方程 y = kx
      • 所以.. 他到底想要什么?
      • 所以.. 他到底想要什么?问题是什么?
      猜你喜欢
      • 2011-11-23
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      相关资源
      最近更新 更多