Math 使用最大值和最小值构建一个if语句

Math 使用最大值和最小值构建一个if语句,math,logic,Math,Logic,那么 我的第一个问题 是否可以只使用“max”和“min”语句构建“If”语句 我的问题是,我需要比较两个数字(A和B),看看B是否大于1.1 x A。如果发生这种情况,我选择B,如果不是,我选择A 有什么想法吗 如果逻辑运算符接受非布尔值,则可以按如下方式执行: n = Max(B - 1.1*A, 0) output = Max(B*(n && n), A) if语句,无论是在纯(顺序不变)逻辑中还是在过程逻辑中,都只适用于布尔语句。这意味着是真是假。min或max函数返回

那么

我的第一个问题

是否可以只使用“max”和“min”语句构建“If”语句

我的问题是,我需要比较两个数字(A和B),看看B是否大于1.1 x A。如果发生这种情况,我选择B,如果不是,我选择A


有什么想法吗

如果逻辑运算符接受非布尔值,则可以按如下方式执行:

n = Max(B - 1.1*A, 0)
output = Max(B*(n && n), A)

if语句,无论是在纯(顺序不变)逻辑中还是在过程逻辑中,都只适用于布尔语句。这意味着是真是假。min或max函数返回一个数字,而不是真/假值。因此,您的问题的简短答案是否定的,不可能使用max和min返回值构建if语句

现在,在你问题的细节中,你对你想要什么有了更多的了解。但令人困惑的是,max和min是如何进入方程的。B>1.1*A不需要最大和最小处理,所以您是否使用最大和最小函数来达到B和A?如果是这样,那么只需先处理它们,然后将它们插入到方程中

因为“大于”和“小于”比较确实返回真/假值,所以您很幸运。在你的“如果”陈述中使用它。下面是一些伪代码

max1 = 25
max2 = 72
min1 = 95
min2 = 80

A = Max(max1,max2)
B = Min(min1,min2)

O = NULL

if B > 1.1 * A then 
    set O = B
else 
    set O = A
end if
如果if语句的输出是一个值,而不是命令,正如您所希望的那样,某些语言使用“elvis”操作符,这会使事情变得更漂亮。使用它,您只需编写:

O = B > 1.1 * A ? B : A

是的,很简单<代码>如果B>1.1 x A,我选择B如果不是,我选择A。当然,绝对没有办法回答您的问题,因为我们不知道您是在焊接逻辑门还是在用lolcat.Hi编写代码,欢迎来到StackOverflow。请您扩展您的问题,以指定您使用的语言,以及您迄今为止尝试过的内容,如此处所述:。如果,如标签所示,您的问题是一个逻辑问题,那么我认为它属于这里:。感谢是一种适当的语言,因此任何语言的解决方案都可以工作。感谢您的快速回答,这是一种适当的语言,因此任何语言的解决方案都可以工作。出于这个原因,我询问它背后的逻辑。假设函数z=Max(x,y),其中z是x和y的最大值,函数z=min(x,y),其中z选择x和y之间的最小值。我还有常用的运算符“+”、“-”、“*”、“/”和“-”如何构造我发布的问题?max和min是连续函数。它们自身的组成和其他算术运算也是如此。您所需的函数不是连续的,如果B的值变化,它会从A跳到1.1*A。所以看来,你的追求不能用简单的方法来解决。如果一个人包括像地板这样的不连续功能,可能会有很多方法。谢谢大家的回答。我怀疑这个问题没有解决办法,但你总是有希望的。@Eperezj如果你认为答案没有解决办法,正是因为我上面所说的,请接受我的答案,这样将来的读者可以得到通知。完成!普威尔科克斯再次感谢你