おそらく非常に明白なので、私はこれを尋ねるのがほとんど恥ずかしいです-しかし、私はこれから抜け出す方法をきちんと見ることができず、それがあるのではないかと疑っています。
値を加算/減算する必要のある変数がありますが、値の範囲内に保ち、両端でループします。例:
範囲は0〜3であるため、値は0、1、2、3、0、1、2、3です。これにより、
x = (x + val) MOD 4
ただし、valが負の場合、0,3,2,1,0,3,2,1が表示され、ソリューションははるかにエレガントではありません。
x = (x + val) MOD 4
if (x < 0) x = 4 + x;
それは機能しますが、それは不格好であり、これに対する「1行」の解決策があるかもしれないと考えずにはいられません-しかし、私がそれを考えることができれば私は気になりますか?:)
困惑の準備をします