我能够制作顺时针方向的算法:1 - > 2 - > 3 - > 4 - > 1 - > 2 - > 3 ...... 就像这样:
(i % 4) + 1
现在我需要做相反的事情:4 - > 3 - > 2 - > 1 - > 4 - > 3 - > 2 ...
你能帮助我吗,这让我很生气。 :d谢谢!
答案 0 :(得分:2)
针对逆时针值
尝试以下公式4-(i%4)
答案 1 :(得分:1)
怎么样
5 - ((i % 4) + 1)
似乎可以解决问题。可能不是最佳但可行的
答案 2 :(得分:1)
看看你的“顺时针”系列 - 你会注意到“逆时针”系列总是五减去相应的顺时针值。因此,
5 - ((i % 4) + 1)
应该有效。在大多数语言中也可以省略括号,因为%
通常在加法和减法之前执行。
答案 3 :(得分:0)
我很惊讶这里没有提到它,但是没有任何理由可以减去任何东西(我个人认为它的可读性不那么强) - 一个额外的模数可以做同样的事情 -
(i + 3) % 4
一般情况下 -
(i + (N-1)) % N
或者返回任意步骤m
-
(i + (N-m)) % N