2016年3月27日日曜日

160327(3)

Ruby


12 = 3 * 4(1)

http://www004.upp.so-net.ne.jp/s_honma/mathbun/mathbun240.htm
を見て、次の計算に気づく。

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

def g0(m, n)
  a = '1' * m + '3' * (m * (n - 1)) + '2' * m
  b = '3' * m
  c = ('3' * (m - 1) + '4') * n
  f(a.to_i, b.to_i, c.to_i)
end

def g1(m, n)
  a = '2' * m + '3' * (m * (n - 1)) + '1' * m
  b = '3' * m
  c = ('6' * (m - 1) + '7') * n
  f(a.to_i, b.to_i, c.to_i)
end

(1..5).each{|m| (1..5).each{|n| puts g0(m, n)}}
(1..5).each{|m| (1..5).each{|n| puts g1(m, n)}}

出力結果
12 = 3 * 4
132 = 3 * 44
1332 = 3 * 444
13332 = 3 * 4444
133332 = 3 * 44444
1122 = 33 * 34
113322 = 33 * 3434
11333322 = 33 * 343434
1133333322 = 33 * 34343434
113333333322 = 33 * 3434343434
111222 = 333 * 334
111333222 = 333 * 334334
111333333222 = 333 * 334334334
111333333333222 = 333 * 334334334334
111333333333333222 = 333 * 334334334334334
11112222 = 3333 * 3334
111133332222 = 3333 * 33343334
1111333333332222 = 3333 * 333433343334
11113333333333332222 = 3333 * 3334333433343334
111133333333333333332222 = 3333 * 33343334333433343334
1111122222 = 33333 * 33334
111113333322222 = 33333 * 3333433334
11111333333333322222 = 33333 * 333343333433334
1111133333333333333322222 = 33333 * 33334333343333433334
111113333333333333333333322222 = 33333 * 3333433334333343333433334
21 = 3 * 7
231 = 3 * 77
2331 = 3 * 777
23331 = 3 * 7777
233331 = 3 * 77777
2211 = 33 * 67
223311 = 33 * 6767
22333311 = 33 * 676767
2233333311 = 33 * 67676767
223333333311 = 33 * 6767676767
222111 = 333 * 667
222333111 = 333 * 667667
222333333111 = 333 * 667667667
222333333333111 = 333 * 667667667667
222333333333333111 = 333 * 667667667667667
22221111 = 3333 * 6667
222233331111 = 3333 * 66676667
2222333333331111 = 3333 * 666766676667
22223333333333331111 = 3333 * 6667666766676667
222233333333333333331111 = 3333 * 66676667666766676667
2222211111 = 33333 * 66667
222223333311111 = 33333 * 6666766667
22222333333333311111 = 33333 * 666676666766667
2222233333333333333311111 = 33333 * 66667666676666766667
222223333333333333333333311111 = 33333 * 6666766667666676666766667

0 件のコメント:

コメントを投稿

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