2016年3月31日木曜日

160331(2)

Ruby


12 = 3 * 4(10)

逆バージョン。

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 + k - i)}
  "#{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
135 = 3 * 45
113355 = 33 * 3435
111333555 = 333 * 334335
111133335555 = 3333 * 33343335
111113333355555 = 33333 * 3333433335
111111333333555555 = 333333 * 333334333335
111111133333335555555 = 3333333 * 33333343333335
111111113333333355555555 = 33333333 * 3333333433333335
111111111333333333555555555 = 333333333 * 333333334333333335
111111111133333333335555555555 = 3333333333 * 33333333343333333335
1368 = 3 * 456
11336688 = 33 * 343536
111333666888 = 333 * 334335336
1111333366668888 = 3333 * 333433353336
11111333336666688888 = 33333 * 333343333533336
111111333333666666888888 = 333333 * 333334333335333336
1111111333333366666668888888 = 3333333 * 333333433333353333336
11111111333333336666666688888888 = 33333333 * 333333343333333533333336
111111111333333333666666666888888888 = 333333333 * 333333334333333335333333336
1111111111333333333366666666668888888888 = 3333333333 * 333333333433333333353333333336
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
234 = 3 * 78
223344 = 33 * 6768
222333444 = 333 * 667668
222233334444 = 3333 * 66676668
222223333344444 = 33333 * 6666766668
222222333333444444 = 333333 * 666667666668
222222233333334444444 = 3333333 * 66666676666668
222222223333333344444444 = 33333333 * 6666666766666668
222222222333333333444444444 = 333333333 * 666666667666666668
222222222233333333334444444444 = 3333333333 * 66666666676666666668
2367 = 3 * 789
22336677 = 33 * 676869
222333666777 = 333 * 667668669
2222333366667777 = 3333 * 666766686669
22222333336666677777 = 33333 * 666676666866669
222222333333666666777777 = 333333 * 666667666668666669
2222222333333366666667777777 = 3333333 * 666666766666686666669
22222222333333336666666677777777 = 33333333 * 666666676666666866666669
222222222333333333666666666777777777 = 333333333 * 666666667666666668666666669
2222222222333333333366666666667777777777 = 3333333333 * 666666666766666666686666666669

0 件のコメント:

コメントを投稿

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