0

这不是一个直接的编程问题,因为它与特定代码无关,但这确实涉及余数/模数运算符。

我有一个用于偶数输入值的公式和一个用于奇数输入值的公式,但在我的程序中,我需要以某种方式将这两者结合起来,以便得到一个适用于偶数和奇数输入的公式。

****(我有两个整数值,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,以便我可以更轻松地手动计算值。

4

1 回答 1

0

如果您有“如果 x + y 是奇数,则 a(x, y) 否则 b(x, y)”,您可以使用模数运算符将其转换为公式,如下所示:

((x + y)%2) * a(x, y) + (1 - (x + y)%2) * b(x, y)

一个括号是零,另一个是零,这取决于你所处的情况。不过,我无法想象一个有用的应用程序,尤其是在 C 语言中。在像 R 这样的向量化语言中,这种类型可能有一些动机的代码。

于 2013-10-05T22:03:48.997 回答