检查数字是否按特定顺序排列

1 java arrays int modulo

我有一个带有4个数字的int数组,它们按升序排序.

我想知道这些数字是否符合这条规则:

1, 2, 3, 4 or
5, 6, 7, 8 or
9, 10, 11, 12 or
13, 14, 15, 16
etc.
Run Code Online (Sandbox Code Playgroud)

他们不可能

2, 3, 4, 5 or
4, 5, 6, 7 or
23, 24, 25, 26
etc
Run Code Online (Sandbox Code Playgroud)

因此它们必须按顺序排列,但仅限于这4组!

我试图添加所有数字(例如1 + 2 + 3 + 4)并做模12的和,结果总是10,2,6,10,2,6等.我的想法是检查结果是这三个数字中的一个,2,6或10.

但它不能起作用,因为例如(17 + 18 + 19 + 20)%12是2是合法但但是例如(2 + 3 + 4 + 5)%12也是2但它不合法所以它是是一个错误的结果.

MrS*_*h42 6

让数字成为

a, a+1, a+2, a+3
Run Code Online (Sandbox Code Playgroud)

规则是

a % 4 == 1    // is the same as:  a & 3 == 1
Run Code Online (Sandbox Code Playgroud)