如何知道一个数是否是另一个数的倍数?
我尝试使用 6%2,但它总是给出 2 而不是 0 的值。为什么以及如何才能解决这个问题?
I tried using 6%2, but its always giving the value as 2 and not 0. Why and how can I get a solution to this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在您的情况下
!(6%2)
将返回 true。(答案与问题中的原始答案非常相似)
In your case
!(6%2)
would return true.(Answer very similar to the original in the question)
我假设您想找出对于给定的 X,Y=kX 是否具有 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 中的代码示例
I'm asuming that you want to find out if Y=kX has integer values of k for a given X so that Y=5, X=3 fails (k is 5/3), but Y=6, X=2 passes (k is exactly 3). You are happy that k is either positive or negative.
That way, using Y remainder X == 0 is a good test. As an aside, be careful of negative remainders (e.g. Y % 2 == 1 as a test for oddness fails for negative numbers, use Y % 2 != 0 to be sure)
Code example in Java