◆大阪府の中学校1年生 天気予報 さんからのコメント。
数字が三個の場合(a,b,c)
右 a+b+c
下 b+c+a
左 c+a+b
上 a+b+c
となるので4ターンで元に戻ってくる。
数字が四個の場合(a,b,c,d)
右 a+a+a+・・・・・・・+a
下 b+b+b+・・・・・・・+b
左 c+c+c+・・・・・・・+c
上 d+d+d+・・・・・・・+d
となるので右と左 上と下が同じ数字のとき元に戻ってくる
(1ターンで)
数字をx個書いたとすると
4とxの最小公倍数をxで割ったターンで戻ってくる。
◆東京都 白拓 さんからの解答。
入力した数をx個とすると、x個で一周期目に一周期分移動したときのベクトルを
(r*cos(s),r*sin(s))とする。(rは長さ,sは角度)
一回で-90度変化するため2周期目のベクトルの角度は
s+[x]mod[4]*(-90)度 になる。
[x]mod[4]=1 のとき一周期で(-90)度ずれる。
4 Σ n=1 | (r*cos(s-90°*n),r*sin(s-90°*n))=0 |
[x]mod[4]=3 のとき一周期で(90)度ずれる。
このときも[x]mod[4]=1 のときと同様。
[x]mod[4]=2 のとき一周期で(180)度ずれる。
2 Σ n=1 | (r*cos(s-90°*n),r*sin(s-90°*n))=0 |
[x]mod[4]=0 のとき一周期で(0)度ずれる。
一周期目と同じ角度のベクトルのため初期位置には戻らない。
◆埼玉県 mist さんからの解答。
複素平面上で考える。
虚数単位をiとする。
赤の点を複素数の点zとする。
まず始めに点zは原点z=0にいたとする。
右(+1方向)にa動くと、z=a
下(-i方向)にb動くと、z=a-bi
左(-1方向)にc動くと、z=a-bi-c
上(+i方向)にa動くと、z=a-bi-c+ai
右(+1方向)にb動くと、z=a-bi-c+ai+b
・・・・・・・
と繰り返すと、12回目(4周期)で
z=a+b(-i)+c(-i)2+a(-i)3+b(-i)4+c(-i)5+a(-i)6+b(-i)7+c(-i)8+a(-i)9+b(-i)10+c(-i)11 =a{1+(-i)3+(-i)6+(-i)9} +b{(-i)+(-i)4+(-i)7+(-i)10} +c{(-i)2+(-i)5+(-i)8+(-i)11} =0{ }の中が公比(-i)3=iの等比数列の和になっているから、4周期操作を繰り返すと、ちょうど{ }の中が打ち消しあって0になる。