我有一个带有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但它不合法所以它是是一个错误的结果.
让数字成为
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)