这不是一个直接的编程问题,因为它与特定代码无关,但这确实涉及余数/模运算符。
我有一个用于偶数输入值的公式和一个用于奇数输入值的不同公式,但在我的程序中,我需要以某种方式将这两个公式结合起来,以便得到一个适用于偶数和奇数输入的公式。
****(我有两个整数值,x和y,当我说偶数输入值时,我的意思是当您将x和y相加时,该数字是偶数;对于奇数输入也是如此)* *
偶数的公式:1 + sqrt(((x - 10)^2) + ((y - 10)^2))
奇数的公式:1 + (((abs(x - 10)) + (abs(y - 10)))/(2))
我确实注意到这两个公式非常相似,我向我的教授询问了这个问题,他确实暗示使用余数/模运算符。
一开始,我想过将两个公式都除以2,然后将它们相加,这样其中一个值为0,因此,只使用其中一个公式。但是当我插入值时,我意识到偶数输入的答案并不总是偶数。所以现在我不确定如何解决这个问题。
非常感谢任何形式的帮助。
以下是一些值:
注意:y 值不限于 10,我只是使用 10,以便我可以更轻松地手动计算值。
最佳答案
如果您有“if x + y is odd then a(x, y) else b(x, y)”,您可以使用模运算符将其转换为公式,如下所示:
((x + y)%2) * a(x, y) + (1 - (x + y)%2) * b(x, y)
一个括号为零,另一个括号为零,具体取决于您所处的情况。不过,我无法想象对此有什么有用的应用程序,尤其是在 C 中。在像 R 这样的矢量化语言中,可能有一些动机对于这种代码。
关于c - 我将如何在这里应用余数/模运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19203115/