2016年3月28日月曜日

160328

Ruby


12 = 3 * 4(2)

さらに、次の計算に気づく。

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

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

(1..15).each{|m| (0..2 * m - 1).each{|k| puts g(m, k)}}

出力結果
12 = 3 * 4
21 = 3 * 7
1122 = 33 * 34
1221 = 33 * 37
2211 = 33 * 67
2112 = 33 * 64
111222 = 333 * 334
112221 = 333 * 337
122211 = 333 * 367
222111 = 333 * 667
221112 = 333 * 664
211122 = 333 * 634
11112222 = 3333 * 3334
11122221 = 3333 * 3337
11222211 = 3333 * 3367
12222111 = 3333 * 3667
22221111 = 3333 * 6667
22211112 = 3333 * 6664
22111122 = 3333 * 6634
21111222 = 3333 * 6334
1111122222 = 33333 * 33334
1111222221 = 33333 * 33337
1112222211 = 33333 * 33367
1122222111 = 33333 * 33667
1222221111 = 33333 * 36667
2222211111 = 33333 * 66667
2222111112 = 33333 * 66664
2221111122 = 33333 * 66634
2211111222 = 33333 * 66334
2111112222 = 33333 * 63334
111111222222 = 333333 * 333334
111112222221 = 333333 * 333337
111122222211 = 333333 * 333367
111222222111 = 333333 * 333667
112222221111 = 333333 * 336667
122222211111 = 333333 * 366667
222222111111 = 333333 * 666667
222221111112 = 333333 * 666664
222211111122 = 333333 * 666634
222111111222 = 333333 * 666334
221111112222 = 333333 * 663334
211111122222 = 333333 * 633334
11111112222222 = 3333333 * 3333334
11111122222221 = 3333333 * 3333337
11111222222211 = 3333333 * 3333367
11112222222111 = 3333333 * 3333667
11122222221111 = 3333333 * 3336667
11222222211111 = 3333333 * 3366667
12222222111111 = 3333333 * 3666667
22222221111111 = 3333333 * 6666667
22222211111112 = 3333333 * 6666664
22222111111122 = 3333333 * 6666634
22221111111222 = 3333333 * 6666334
22211111112222 = 3333333 * 6663334
22111111122222 = 3333333 * 6633334
21111111222222 = 3333333 * 6333334
1111111122222222 = 33333333 * 33333334
1111111222222221 = 33333333 * 33333337
1111112222222211 = 33333333 * 33333367
1111122222222111 = 33333333 * 33333667
1111222222221111 = 33333333 * 33336667
1112222222211111 = 33333333 * 33366667
1122222222111111 = 33333333 * 33666667
1222222221111111 = 33333333 * 36666667
2222222211111111 = 33333333 * 66666667
2222222111111112 = 33333333 * 66666664
2222221111111122 = 33333333 * 66666634
2222211111111222 = 33333333 * 66666334
2222111111112222 = 33333333 * 66663334
2221111111122222 = 33333333 * 66633334
2211111111222222 = 33333333 * 66333334
2111111112222222 = 33333333 * 63333334
111111111222222222 = 333333333 * 333333334
111111112222222221 = 333333333 * 333333337
111111122222222211 = 333333333 * 333333367
111111222222222111 = 333333333 * 333333667
111112222222221111 = 333333333 * 333336667
111122222222211111 = 333333333 * 333366667
111222222222111111 = 333333333 * 333666667
112222222221111111 = 333333333 * 336666667
122222222211111111 = 333333333 * 366666667
222222222111111111 = 333333333 * 666666667
222222221111111112 = 333333333 * 666666664
222222211111111122 = 333333333 * 666666634
222222111111111222 = 333333333 * 666666334
222221111111112222 = 333333333 * 666663334
222211111111122222 = 333333333 * 666633334
222111111111222222 = 333333333 * 666333334
221111111112222222 = 333333333 * 663333334
211111111122222222 = 333333333 * 633333334
11111111112222222222 = 3333333333 * 3333333334
11111111122222222221 = 3333333333 * 3333333337
11111111222222222211 = 3333333333 * 3333333367
11111112222222222111 = 3333333333 * 3333333667
11111122222222221111 = 3333333333 * 3333336667
11111222222222211111 = 3333333333 * 3333366667
11112222222222111111 = 3333333333 * 3333666667
11122222222221111111 = 3333333333 * 3336666667
11222222222211111111 = 3333333333 * 3366666667
12222222222111111111 = 3333333333 * 3666666667
22222222221111111111 = 3333333333 * 6666666667
22222222211111111112 = 3333333333 * 6666666664
22222222111111111122 = 3333333333 * 6666666634
22222221111111111222 = 3333333333 * 6666666334
22222211111111112222 = 3333333333 * 6666663334
22222111111111122222 = 3333333333 * 6666633334
22221111111111222222 = 3333333333 * 6666333334
22211111111112222222 = 3333333333 * 6663333334
22111111111122222222 = 3333333333 * 6633333334
21111111111222222222 = 3333333333 * 6333333334
1111111111122222222222 = 33333333333 * 33333333334
1111111111222222222221 = 33333333333 * 33333333337
1111111112222222222211 = 33333333333 * 33333333367
1111111122222222222111 = 33333333333 * 33333333667
1111111222222222221111 = 33333333333 * 33333336667
1111112222222222211111 = 33333333333 * 33333366667
1111122222222222111111 = 33333333333 * 33333666667
1111222222222221111111 = 33333333333 * 33336666667
1112222222222211111111 = 33333333333 * 33366666667
1122222222222111111111 = 33333333333 * 33666666667
1222222222221111111111 = 33333333333 * 36666666667
2222222222211111111111 = 33333333333 * 66666666667
2222222222111111111112 = 33333333333 * 66666666664
2222222221111111111122 = 33333333333 * 66666666634
2222222211111111111222 = 33333333333 * 66666666334
2222222111111111112222 = 33333333333 * 66666663334
2222221111111111122222 = 33333333333 * 66666633334
2222211111111111222222 = 33333333333 * 66666333334
2222111111111112222222 = 33333333333 * 66663333334
2221111111111122222222 = 33333333333 * 66633333334
2211111111111222222222 = 33333333333 * 66333333334
2111111111112222222222 = 33333333333 * 63333333334
111111111111222222222222 = 333333333333 * 333333333334
111111111112222222222221 = 333333333333 * 333333333337
111111111122222222222211 = 333333333333 * 333333333367
111111111222222222222111 = 333333333333 * 333333333667
111111112222222222221111 = 333333333333 * 333333336667
111111122222222222211111 = 333333333333 * 333333366667
111111222222222222111111 = 333333333333 * 333333666667
111112222222222221111111 = 333333333333 * 333336666667
111122222222222211111111 = 333333333333 * 333366666667
111222222222222111111111 = 333333333333 * 333666666667
112222222222221111111111 = 333333333333 * 336666666667
122222222222211111111111 = 333333333333 * 366666666667
222222222222111111111111 = 333333333333 * 666666666667
222222222221111111111112 = 333333333333 * 666666666664
222222222211111111111122 = 333333333333 * 666666666634
222222222111111111111222 = 333333333333 * 666666666334
222222221111111111112222 = 333333333333 * 666666663334
222222211111111111122222 = 333333333333 * 666666633334
222222111111111111222222 = 333333333333 * 666666333334
222221111111111112222222 = 333333333333 * 666663333334
222211111111111122222222 = 333333333333 * 666633333334
222111111111111222222222 = 333333333333 * 666333333334
221111111111112222222222 = 333333333333 * 663333333334
211111111111122222222222 = 333333333333 * 633333333334
11111111111112222222222222 = 3333333333333 * 3333333333334
11111111111122222222222221 = 3333333333333 * 3333333333337
11111111111222222222222211 = 3333333333333 * 3333333333367
11111111112222222222222111 = 3333333333333 * 3333333333667
11111111122222222222221111 = 3333333333333 * 3333333336667
11111111222222222222211111 = 3333333333333 * 3333333366667
11111112222222222222111111 = 3333333333333 * 3333333666667
11111122222222222221111111 = 3333333333333 * 3333336666667
11111222222222222211111111 = 3333333333333 * 3333366666667
11112222222222222111111111 = 3333333333333 * 3333666666667
11122222222222221111111111 = 3333333333333 * 3336666666667
11222222222222211111111111 = 3333333333333 * 3366666666667
12222222222222111111111111 = 3333333333333 * 3666666666667
22222222222221111111111111 = 3333333333333 * 6666666666667
22222222222211111111111112 = 3333333333333 * 6666666666664
22222222222111111111111122 = 3333333333333 * 6666666666634
22222222221111111111111222 = 3333333333333 * 6666666666334
22222222211111111111112222 = 3333333333333 * 6666666663334
22222222111111111111122222 = 3333333333333 * 6666666633334
22222221111111111111222222 = 3333333333333 * 6666666333334
22222211111111111112222222 = 3333333333333 * 6666663333334
22222111111111111122222222 = 3333333333333 * 6666633333334
22221111111111111222222222 = 3333333333333 * 6666333333334
22211111111111112222222222 = 3333333333333 * 6663333333334
22111111111111122222222222 = 3333333333333 * 6633333333334
21111111111111222222222222 = 3333333333333 * 6333333333334
1111111111111122222222222222 = 33333333333333 * 33333333333334
1111111111111222222222222221 = 33333333333333 * 33333333333337
1111111111112222222222222211 = 33333333333333 * 33333333333367
1111111111122222222222222111 = 33333333333333 * 33333333333667
1111111111222222222222221111 = 33333333333333 * 33333333336667
1111111112222222222222211111 = 33333333333333 * 33333333366667
1111111122222222222222111111 = 33333333333333 * 33333333666667
1111111222222222222221111111 = 33333333333333 * 33333336666667
1111112222222222222211111111 = 33333333333333 * 33333366666667
1111122222222222222111111111 = 33333333333333 * 33333666666667
1111222222222222221111111111 = 33333333333333 * 33336666666667
1112222222222222211111111111 = 33333333333333 * 33366666666667
1122222222222222111111111111 = 33333333333333 * 33666666666667
1222222222222221111111111111 = 33333333333333 * 36666666666667
2222222222222211111111111111 = 33333333333333 * 66666666666667
2222222222222111111111111112 = 33333333333333 * 66666666666664
2222222222221111111111111122 = 33333333333333 * 66666666666634
2222222222211111111111111222 = 33333333333333 * 66666666666334
2222222222111111111111112222 = 33333333333333 * 66666666663334
2222222221111111111111122222 = 33333333333333 * 66666666633334
2222222211111111111111222222 = 33333333333333 * 66666666333334
2222222111111111111112222222 = 33333333333333 * 66666663333334
2222221111111111111122222222 = 33333333333333 * 66666633333334
2222211111111111111222222222 = 33333333333333 * 66666333333334
2222111111111111112222222222 = 33333333333333 * 66663333333334
2221111111111111122222222222 = 33333333333333 * 66633333333334
2211111111111111222222222222 = 33333333333333 * 66333333333334
2111111111111112222222222222 = 33333333333333 * 63333333333334
111111111111111222222222222222 = 333333333333333 * 333333333333334
111111111111112222222222222221 = 333333333333333 * 333333333333337
111111111111122222222222222211 = 333333333333333 * 333333333333367
111111111111222222222222222111 = 333333333333333 * 333333333333667
111111111112222222222222221111 = 333333333333333 * 333333333336667
111111111122222222222222211111 = 333333333333333 * 333333333366667
111111111222222222222222111111 = 333333333333333 * 333333333666667
111111112222222222222221111111 = 333333333333333 * 333333336666667
111111122222222222222211111111 = 333333333333333 * 333333366666667
111111222222222222222111111111 = 333333333333333 * 333333666666667
111112222222222222221111111111 = 333333333333333 * 333336666666667
111122222222222222211111111111 = 333333333333333 * 333366666666667
111222222222222222111111111111 = 333333333333333 * 333666666666667
112222222222222221111111111111 = 333333333333333 * 336666666666667
122222222222222211111111111111 = 333333333333333 * 366666666666667
222222222222222111111111111111 = 333333333333333 * 666666666666667
222222222222221111111111111112 = 333333333333333 * 666666666666664
222222222222211111111111111122 = 333333333333333 * 666666666666634
222222222222111111111111111222 = 333333333333333 * 666666666666334
222222222221111111111111112222 = 333333333333333 * 666666666663334
222222222211111111111111122222 = 333333333333333 * 666666666633334
222222222111111111111111222222 = 333333333333333 * 666666666333334
222222221111111111111112222222 = 333333333333333 * 666666663333334
222222211111111111111122222222 = 333333333333333 * 666666633333334
222222111111111111111222222222 = 333333333333333 * 666666333333334
222221111111111111112222222222 = 333333333333333 * 666663333333334
222211111111111111122222222222 = 333333333333333 * 666633333333334
222111111111111111222222222222 = 333333333333333 * 666333333333334
221111111111111112222222222222 = 333333333333333 * 663333333333334
211111111111111122222222222222 = 333333333333333 * 633333333333334

0 件のコメント:

コメントを投稿

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