2016年3月28日月曜日

160328(4)

Ruby


12 = 3 * 4(5)

次のことも気づく。

# a = b * cは正しい?
def f(a, b, c)
  return "#{a} = #{b} * #{c}" if a == b * c
  "false"
end

def g(m, n, k, str)
  a = (['1'] * m + ['2'] * m).rotate(k)
  a1 = (a[0..m - 1] + [str] * (m * (n - 1)) + a[m..-1]).join
  b = '3' * m
  c = a1.to_i / b.to_i
  f(a1.to_i, b.to_i, c.to_i)
end

['0', '3', '6', '9'].each{|str|
  (1..4).each{|m| (1..4).each{|n| (0..2 * m - 1).each{|k| puts g(m, n, k, str)}}}
}

出力結果
12 = 3 * 4
21 = 3 * 7
102 = 3 * 34
201 = 3 * 67
1002 = 3 * 334
2001 = 3 * 667
10002 = 3 * 3334
20001 = 3 * 6667
1122 = 33 * 34
1221 = 33 * 37
2211 = 33 * 67
2112 = 33 * 64
110022 = 33 * 3334
120021 = 33 * 3637
220011 = 33 * 6667
210012 = 33 * 6364
11000022 = 33 * 333334
12000021 = 33 * 363637
22000011 = 33 * 666667
21000012 = 33 * 636364
1100000022 = 33 * 33333334
1200000021 = 33 * 36363637
2200000011 = 33 * 66666667
2100000012 = 33 * 63636364
111222 = 333 * 334
112221 = 333 * 337
122211 = 333 * 367
222111 = 333 * 667
221112 = 333 * 664
211122 = 333 * 634
111000222 = 333 * 333334
112000221 = 333 * 336337
122000211 = 333 * 366367
222000111 = 333 * 666667
221000112 = 333 * 663664
211000122 = 333 * 633634
111000000222 = 333 * 333333334
112000000221 = 333 * 336336337
122000000211 = 333 * 366366367
222000000111 = 333 * 666666667
221000000112 = 333 * 663663664
211000000122 = 333 * 633633634
111000000000222 = 333 * 333333333334
112000000000221 = 333 * 336336336337
122000000000211 = 333 * 366366366367
222000000000111 = 333 * 666666666667
221000000000112 = 333 * 663663663664
211000000000122 = 333 * 633633633634
11112222 = 3333 * 3334
11122221 = 3333 * 3337
11222211 = 3333 * 3367
12222111 = 3333 * 3667
22221111 = 3333 * 6667
22211112 = 3333 * 6664
22111122 = 3333 * 6634
21111222 = 3333 * 6334
111100002222 = 3333 * 33333334
111200002221 = 3333 * 33363337
112200002211 = 3333 * 33663367
122200002111 = 3333 * 36663667
222200001111 = 3333 * 66666667
222100001112 = 3333 * 66636664
221100001122 = 3333 * 66336634
211100001222 = 3333 * 63336334
1111000000002222 = 3333 * 333333333334
1112000000002221 = 3333 * 333633363337
1122000000002211 = 3333 * 336633663367
1222000000002111 = 3333 * 366636663667
2222000000001111 = 3333 * 666666666667
2221000000001112 = 3333 * 666366636664
2211000000001122 = 3333 * 663366336634
2111000000001222 = 3333 * 633363336334
11110000000000002222 = 3333 * 3333333333333334
11120000000000002221 = 3333 * 3336333633363337
11220000000000002211 = 3333 * 3366336633663367
12220000000000002111 = 3333 * 3666366636663667
22220000000000001111 = 3333 * 6666666666666667
22210000000000001112 = 3333 * 6663666366636664
22110000000000001122 = 3333 * 6633663366336634
21110000000000001222 = 3333 * 6333633363336334
12 = 3 * 4
21 = 3 * 7
132 = 3 * 44
231 = 3 * 77
1332 = 3 * 444
2331 = 3 * 777
13332 = 3 * 4444
23331 = 3 * 7777
1122 = 33 * 34
1221 = 33 * 37
2211 = 33 * 67
2112 = 33 * 64
113322 = 33 * 3434
123321 = 33 * 3737
223311 = 33 * 6767
213312 = 33 * 6464
11333322 = 33 * 343434
12333321 = 33 * 373737
22333311 = 33 * 676767
21333312 = 33 * 646464
1133333322 = 33 * 34343434
1233333321 = 33 * 37373737
2233333311 = 33 * 67676767
2133333312 = 33 * 64646464
111222 = 333 * 334
112221 = 333 * 337
122211 = 333 * 367
222111 = 333 * 667
221112 = 333 * 664
211122 = 333 * 634
111333222 = 333 * 334334
112333221 = 333 * 337337
122333211 = 333 * 367367
222333111 = 333 * 667667
221333112 = 333 * 664664
211333122 = 333 * 634634
111333333222 = 333 * 334334334
112333333221 = 333 * 337337337
122333333211 = 333 * 367367367
222333333111 = 333 * 667667667
221333333112 = 333 * 664664664
211333333122 = 333 * 634634634
111333333333222 = 333 * 334334334334
112333333333221 = 333 * 337337337337
122333333333211 = 333 * 367367367367
222333333333111 = 333 * 667667667667
221333333333112 = 333 * 664664664664
211333333333122 = 333 * 634634634634
11112222 = 3333 * 3334
11122221 = 3333 * 3337
11222211 = 3333 * 3367
12222111 = 3333 * 3667
22221111 = 3333 * 6667
22211112 = 3333 * 6664
22111122 = 3333 * 6634
21111222 = 3333 * 6334
111133332222 = 3333 * 33343334
111233332221 = 3333 * 33373337
112233332211 = 3333 * 33673367
122233332111 = 3333 * 36673667
222233331111 = 3333 * 66676667
222133331112 = 3333 * 66646664
221133331122 = 3333 * 66346634
211133331222 = 3333 * 63346334
1111333333332222 = 3333 * 333433343334
1112333333332221 = 3333 * 333733373337
1122333333332211 = 3333 * 336733673367
1222333333332111 = 3333 * 366736673667
2222333333331111 = 3333 * 666766676667
2221333333331112 = 3333 * 666466646664
2211333333331122 = 3333 * 663466346634
2111333333331222 = 3333 * 633463346334
11113333333333332222 = 3333 * 3334333433343334
11123333333333332221 = 3333 * 3337333733373337
11223333333333332211 = 3333 * 3367336733673367
12223333333333332111 = 3333 * 3667366736673667
22223333333333331111 = 3333 * 6667666766676667
22213333333333331112 = 3333 * 6664666466646664
22113333333333331122 = 3333 * 6634663466346634
21113333333333331222 = 3333 * 6334633463346334
12 = 3 * 4
21 = 3 * 7
162 = 3 * 54
261 = 3 * 87
1662 = 3 * 554
2661 = 3 * 887
16662 = 3 * 5554
26661 = 3 * 8887
1122 = 33 * 34
1221 = 33 * 37
2211 = 33 * 67
2112 = 33 * 64
116622 = 33 * 3534
126621 = 33 * 3837
226611 = 33 * 6867
216612 = 33 * 6564
11666622 = 33 * 353534
12666621 = 33 * 383837
22666611 = 33 * 686867
21666612 = 33 * 656564
1166666622 = 33 * 35353534
1266666621 = 33 * 38383837
2266666611 = 33 * 68686867
2166666612 = 33 * 65656564
111222 = 333 * 334
112221 = 333 * 337
122211 = 333 * 367
222111 = 333 * 667
221112 = 333 * 664
211122 = 333 * 634
111666222 = 333 * 335334
112666221 = 333 * 338337
122666211 = 333 * 368367
222666111 = 333 * 668667
221666112 = 333 * 665664
211666122 = 333 * 635634
111666666222 = 333 * 335335334
112666666221 = 333 * 338338337
122666666211 = 333 * 368368367
222666666111 = 333 * 668668667
221666666112 = 333 * 665665664
211666666122 = 333 * 635635634
111666666666222 = 333 * 335335335334
112666666666221 = 333 * 338338338337
122666666666211 = 333 * 368368368367
222666666666111 = 333 * 668668668667
221666666666112 = 333 * 665665665664
211666666666122 = 333 * 635635635634
11112222 = 3333 * 3334
11122221 = 3333 * 3337
11222211 = 3333 * 3367
12222111 = 3333 * 3667
22221111 = 3333 * 6667
22211112 = 3333 * 6664
22111122 = 3333 * 6634
21111222 = 3333 * 6334
111166662222 = 3333 * 33353334
111266662221 = 3333 * 33383337
112266662211 = 3333 * 33683367
122266662111 = 3333 * 36683667
222266661111 = 3333 * 66686667
222166661112 = 3333 * 66656664
221166661122 = 3333 * 66356634
211166661222 = 3333 * 63356334
1111666666662222 = 3333 * 333533353334
1112666666662221 = 3333 * 333833383337
1122666666662211 = 3333 * 336833683367
1222666666662111 = 3333 * 366836683667
2222666666661111 = 3333 * 666866686667
2221666666661112 = 3333 * 666566656664
2211666666661122 = 3333 * 663566356634
2111666666661222 = 3333 * 633563356334
11116666666666662222 = 3333 * 3335333533353334
11126666666666662221 = 3333 * 3338333833383337
11226666666666662211 = 3333 * 3368336833683367
12226666666666662111 = 3333 * 3668366836683667
22226666666666661111 = 3333 * 6668666866686667
22216666666666661112 = 3333 * 6665666566656664
22116666666666661122 = 3333 * 6635663566356634
21116666666666661222 = 3333 * 6335633563356334
12 = 3 * 4
21 = 3 * 7
192 = 3 * 64
291 = 3 * 97
1992 = 3 * 664
2991 = 3 * 997
19992 = 3 * 6664
29991 = 3 * 9997
1122 = 33 * 34
1221 = 33 * 37
2211 = 33 * 67
2112 = 33 * 64
119922 = 33 * 3634
129921 = 33 * 3937
229911 = 33 * 6967
219912 = 33 * 6664
11999922 = 33 * 363634
12999921 = 33 * 393937
22999911 = 33 * 696967
21999912 = 33 * 666664
1199999922 = 33 * 36363634
1299999921 = 33 * 39393937
2299999911 = 33 * 69696967
2199999912 = 33 * 66666664
111222 = 333 * 334
112221 = 333 * 337
122211 = 333 * 367
222111 = 333 * 667
221112 = 333 * 664
211122 = 333 * 634
111999222 = 333 * 336334
112999221 = 333 * 339337
122999211 = 333 * 369367
222999111 = 333 * 669667
221999112 = 333 * 666664
211999122 = 333 * 636634
111999999222 = 333 * 336336334
112999999221 = 333 * 339339337
122999999211 = 333 * 369369367
222999999111 = 333 * 669669667
221999999112 = 333 * 666666664
211999999122 = 333 * 636636634
111999999999222 = 333 * 336336336334
112999999999221 = 333 * 339339339337
122999999999211 = 333 * 369369369367
222999999999111 = 333 * 669669669667
221999999999112 = 333 * 666666666664
211999999999122 = 333 * 636636636634
11112222 = 3333 * 3334
11122221 = 3333 * 3337
11222211 = 3333 * 3367
12222111 = 3333 * 3667
22221111 = 3333 * 6667
22211112 = 3333 * 6664
22111122 = 3333 * 6634
21111222 = 3333 * 6334
111199992222 = 3333 * 33363334
111299992221 = 3333 * 33393337
112299992211 = 3333 * 33693367
122299992111 = 3333 * 36693667
222299991111 = 3333 * 66696667
222199991112 = 3333 * 66666664
221199991122 = 3333 * 66366634
211199991222 = 3333 * 63366334
1111999999992222 = 3333 * 333633363334
1112999999992221 = 3333 * 333933393337
1122999999992211 = 3333 * 336933693367
1222999999992111 = 3333 * 366936693667
2222999999991111 = 3333 * 666966696667
2221999999991112 = 3333 * 666666666664
2211999999991122 = 3333 * 663666366634
2111999999991222 = 3333 * 633663366334
11119999999999992222 = 3333 * 3336333633363334
11129999999999992221 = 3333 * 3339333933393337
11229999999999992211 = 3333 * 3369336933693367
12229999999999992111 = 3333 * 3669366936693667
22229999999999991111 = 3333 * 6669666966696667
22219999999999991112 = 3333 * 6666666666666664
22119999999999991122 = 3333 * 6636663666366634
21119999999999991222 = 3333 * 6336633663366334

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。