0

假设我有 5 个意义值的限制来自0,1,2,3,4,5

与或 的区别 与(5 to 0)(5 to 0)的区别与或的 区别1
(5 to 1)(1 to 5)2
(0 to 4)(4 to 0)2

我似乎理解这一点的方式是仅在任何值中使用最后一个值或第一个值时才使用覆盖差异。除此之外,正常的工作Math.abs应该没问题

如与is的区别Math.abs(1-3)
(1 to 3)is2
的区别(3 to 4)1

我似乎无法理解如何对覆盖差异部分进行编程。

我试过了,但没什么特别的,我认为模数运算符会起作用,但我似乎无法弄清楚

int value_one = 0;
int value_two = 5;

int answer = Math.abs(value_one - value_two);
answer = (((answer % 5) + 5) % 5) + 1;
System.out.println(answer);
int answer2 = (value_one + value_two) % 5;
System.out.println(answer2);
4

1 回答 1

1
int v1 = Math.min(value_one, value_two);    
int v2 = Math.max(value_one, value_two);
int answer = Math.min(v2 - v1, v1 + values.length - v2);

其中 values.length 是 {0, 1, 2, 3, 4, 5} 的长度,即 6。

于 2014-02-24T23:57:26.380 回答