在一定范围内反转数字

16

我有一个伺服机,它的转向与程序返回的数字相反。这些数字在37到113之间。我需要将37转换为它的相反面,所以37变成了113,38变成了112,依此类推。因为75是中点,所以75保持不变。

你们当中有人知道如何计算吗?这听起来像是简单的数学问题,但我却想不出来。我不想使用查找表,因为范围可能会改变。


3
你只需要使用 150 - num - Bucket
你能在一个数组中获取这些数字的范围吗? - harsh
2个回答

43
public int reverseNumber(int num, int min, int max) {
    return (max + min) - num;
}

reverseNumber(37, 37, 113); // returns 113

2
public int calculate(int min, int max, int input) {
   return max-(min-input);
}

1
问题意味着不要硬编码。 - Pradeep Pati
@PradeepPati 在哪里,准确地说OP提到了硬编码的事情? - Pshemo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接