回れ回れ
(1)
abcdef×2=cdefab
の計算が成立する6桁の数abcdefをすべて求めよ。
(2)
abcdefghijklmnop×2=klmnopabcdefghij
の計算が成立する16桁の数abcdefghijklmnopをすべて求めよ。
多分これで合っていると思います。(1)はn/7の循環節、(2)はn/17の循環節ですね。
(1)
142857×2=285714
285714×2=571428
428571×2=857142
(2)
1176470588235294×2=2352941176470588
1764705882352941×2=3529411764705882
2352941176470588×2=4705882352941176
2941176470588235×2=5882352941176470
3529411764705882×2=7058823529411764
4117647058823529×2=8235294117647058
4705882352941176×2=9411764705882352
瞬殺でした。
一般化すると以下のようになると思います。
自然数nをm(2≦m≦9)倍したときに末尾のk桁が先頭に移動するとき、
tはm×10^k-1のある約数、sはt/10<s<t/mを満たすある自然数として
nはs/tの循環節と一致する。
循環節は1周期分でなく2周期分、3周期分などでも構いません。
特に、循環節の長さがk以下の場合は複数周期分にする必要があります。
nの桁数はkの値によって決まることになります(桁数は自然数倍できます)。
(1)の例ではm=2,k=4なので
t=2×10^4-1=19999=7×2857
7の循環節の長さは6、2857の循環節の長さは408、19999の循環節の長さは408なので
「2倍して末尾4桁が先頭に移動」が可能なのは6桁または408桁(あるいはそれらの倍数)に限られます。(1)では6桁なので7の循環節の1周期分、そして
7/10<s<7/2から1≦s≦3となり、
「1/7の循環節」×2=「2/7の循環節」
「2/7の循環節」×2=「4/7の循環節」
「3/7の循環節」×2=「6/7の循環節」
が答えとなります。
(2)の例ではm=2,k=6なので
t=2×10^6-1=1999999=17×71×1657
循環節の長さは
17→16, 71→35, 1657→552, 17×71→560,
17×1657→1104, 71×1657→19320, 1999999→38640
(2)は16桁なので17の循環節の1周期分
17/10<s<17/2から2≦s≦8となり
「2/17の循環節」×2=「4/17の循環節」
「3/17の循環節」×2=「6/17の循環節」
「4/17の循環節」×2=「8/17の循環節」
「5/17の循環節」×2=「10/17の循環節」
「6/17の循環節」×2=「12/17の循環節」
「7/17の循環節」×2=「14/17の循環節」
「8/17の循環節」×2=「16/17の循環節」
が答え
他の例
例えば「2倍すると末尾1桁が先頭に移動する」とするためには
19が素数(1/19の循環節の長さは18)なので
18桁またはその自然数倍の桁数の数しかあり得ません。
同様に「2倍すると末尾2桁が先頭に移動する」のは
199が素数で199の循環節の長さが99なので99(×n)桁、
「2倍すると末尾3桁が先頭に移動する」のは同様に999(×n)桁となります。
「3倍すると末尾1桁が先頭に移動する」のは29の循環節なので28(×n)桁、
「3倍すると末尾2桁が先頭に移動する」のは299の約数13の循環節から6(×n)桁で
可能(例:230769)ですが、
「3倍すると末尾3桁が先頭に移動する」となると2999が素数で
循環節の長さが1499なので、1499(×n)桁必要です。
実際に具体例を計算してみると
2倍すると末尾1桁が先頭に移動する
→ 105263157894736842 (2/19の循環節)
3倍すると末尾1桁が先頭に移動する
→ 1034482758620689655172413793 (3/29の循環節)
4倍すると末尾1桁が先頭に移動する
→ 102564 (4/39の循環節)
5倍すると末尾1桁が先頭に移動する
→ 142857 (1/7の循環節)
6倍すると末尾1桁が先頭に移動する
→ 1016949152542372881355932203389830508474576271186440677966 (6/59の循環節)
7倍すると末尾1桁が先頭に移動する
→ 1304347826086956521739 (3/23の循環節)
8倍すると末尾1桁が先頭に移動する
→ 1012658227848 (8/79の循環節)
9倍すると末尾1桁が先頭に移動する
→ 10112359550561797752808988764044943820224719 (9/89の循環節)
※9倍すると末尾1桁が先頭に移動する数はこれ一つ(及びこれの繰返し)しかありません
ではここで宿題を一つ。
2n桁の数をm倍(m≧2)すると前後n桁ずつが入れ替わる。
これを満たす例を挙げて下さい。
142857*6=
857142
142857142857142857*6=
857142857142857142
142857142857142857142857142857*6=
857142857142857142857142857142
これって許してもらえるのだろうか?
正解です。しかもそのパターン(142857が奇数個つながった数)しかありません。
(証明の概略)
前n桁をa、後n桁をb、前後を入れ替えたときm倍(2≦m≦9)、10^n=Nとすると
m(aN+b)=bN+a
この式からb≦maだと成り立たないことがわかるのでb=ma+t(tは自然数)とおける。
代入して整理すると (m^2-1)a=(N-m)t … (1)
この式とma<Nでなければならないことからt≦mが導ける。
(1)から
m=3のとき 8a=(N-3)t
m=5のとき 24a=(N-5)t
これらはN-3,N-5が奇数のためtが8の倍数となり(t≦mと矛盾するため)不適
m=7のとき 48a=(N-7)t
m=9のとき 80a=(N-9)t
これらはN-7,N-9が奇数のためtが16の倍数となり不適
m=2のとき 3a=(N-2)t しかしN-2は3で割り切れずtが3の倍数となるので不適
m=4のとき 15a=(N-4)t しかしN-4は5で割り切れずtが5の倍数となるので不適
m=8のとき 63a=(N-8)t しかしN-8は9で割り切れずtが9の倍数となるので不適
よってm=6しかあり得ず、m=6のとき
35a=(N-6)t
N-6は5で割り切れないのでtは5の倍数、t≦6なのでt=5
両辺を5で割って 7a=N-6
これを満たすaは142,142857142,142857142857142,…なのでそのパターンしかない。