2016年3月31日木曜日

160331

Ruby


12 = 3 * 4(9)

次の形が気に入っている。

def f(num, k, n)
  l = (10 ** n - 1) / 3
  m0 = (10 ** n - 1) * num / 3
  m1 = (0..k - 1).inject(0){|s, i| s + 10 ** (i * n) * (m0 + i + 1)}
  "#{l * m1} = #{l} * #{m1}"
end

(1..2).each{|num| (1..3).each{|k| (1..10).each{|n| puts f(num, k, n)}}}

出力結果
12 = 3 * 4
1122 = 33 * 34
111222 = 333 * 334
11112222 = 3333 * 3334
1111122222 = 33333 * 33334
111111222222 = 333333 * 333334
11111112222222 = 3333333 * 3333334
1111111122222222 = 33333333 * 33333334
111111111222222222 = 333333333 * 333333334
11111111112222222222 = 3333333333 * 3333333334
162 = 3 * 54
116622 = 33 * 3534
111666222 = 333 * 335334
111166662222 = 3333 * 33353334
111116666622222 = 33333 * 3333533334
111111666666222222 = 333333 * 333335333334
111111166666662222222 = 3333333 * 33333353333334
111111116666666622222222 = 33333333 * 3333333533333334
111111111666666666222222222 = 333333333 * 333333335333333334
111111111166666666662222222222 = 3333333333 * 33333333353333333334
1962 = 3 * 654
11996622 = 33 * 363534
111999666222 = 333 * 336335334
1111999966662222 = 3333 * 333633353334
11111999996666622222 = 33333 * 333363333533334
111111999999666666222222 = 333333 * 333336333335333334
1111111999999966666662222222 = 3333333 * 333333633333353333334
11111111999999996666666622222222 = 33333333 * 333333363333333533333334
111111111999999999666666666222222222 = 333333333 * 333333336333333335333333334
1111111111999999999966666666662222222222 = 3333333333 * 333333333633333333353333333334
21 = 3 * 7
2211 = 33 * 67
222111 = 333 * 667
22221111 = 3333 * 6667
2222211111 = 33333 * 66667
222222111111 = 333333 * 666667
22222221111111 = 3333333 * 6666667
2222222211111111 = 33333333 * 66666667
222222222111111111 = 333333333 * 666666667
22222222221111111111 = 3333333333 * 6666666667
261 = 3 * 87
226611 = 33 * 6867
222666111 = 333 * 668667
222266661111 = 3333 * 66686667
222226666611111 = 33333 * 6666866667
222222666666111111 = 333333 * 666668666667
222222266666661111111 = 3333333 * 66666686666667
222222226666666611111111 = 33333333 * 6666666866666667
222222222666666666111111111 = 333333333 * 666666668666666667
222222222266666666661111111111 = 3333333333 * 66666666686666666667
2961 = 3 * 987
22996611 = 33 * 696867
222999666111 = 333 * 669668667
2222999966661111 = 3333 * 666966686667
22222999996666611111 = 33333 * 666696666866667
222222999999666666111111 = 333333 * 666669666668666667
2222222999999966666661111111 = 3333333 * 666666966666686666667
22222222999999996666666611111111 = 33333333 * 666666696666666866666667
222222222999999999666666666111111111 = 333333333 * 666666669666666668666666667
2222222222999999999966666666661111111111 = 3333333333 * 666666666966666666686666666667

0 件のコメント:

コメントを投稿

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