2022年4月24日日曜日

220424

Ruby


A064617のEXAMPLEの一般化

一般化してみた。

def A(k, n)
  (1..n).to_a.join.to_i(k)
end

def B(k, n)
  (k - n..k - 1).to_a.reverse.join.to_i(k)
end

(2..10).each{|i| 
  (1..i - 1).each{|j|
    a = A(i, j)
    b = B(i, j)
    puts "#{b} = #{a} * #{i - 2} + #{b - a * (i - 2)}"
  }
  p ""
}

出力結果
1 = 1 * 0 + 1
""
2 = 1 * 1 + 1
7 = 5 * 1 + 2
""
3 = 1 * 2 + 1
14 = 6 * 2 + 2
57 = 27 * 2 + 3
""
4 = 1 * 3 + 1
23 = 7 * 3 + 2
117 = 38 * 3 + 3
586 = 194 * 3 + 4
""
5 = 1 * 4 + 1
34 = 8 * 4 + 2
207 = 51 * 4 + 3
1244 = 310 * 4 + 4
7465 = 1865 * 4 + 5
""
6 = 1 * 5 + 1
47 = 9 * 5 + 2
333 = 66 * 5 + 3
2334 = 466 * 5 + 4
16340 = 3267 * 5 + 5
114381 = 22875 * 5 + 6
""
7 = 1 * 6 + 1
62 = 10 * 6 + 2
501 = 83 * 6 + 3
4012 = 668 * 6 + 4
32099 = 5349 * 6 + 5
256794 = 42798 * 6 + 6
2054353 = 342391 * 6 + 7
""
8 = 1 * 7 + 1
79 = 11 * 7 + 2
717 = 102 * 7 + 3
6458 = 922 * 7 + 4
58126 = 8303 * 7 + 5
523137 = 74733 * 7 + 6
4708235 = 672604 * 7 + 7
42374116 = 6053444 * 7 + 8
""
9 = 1 * 8 + 1
98 = 12 * 8 + 2
987 = 123 * 8 + 3
9876 = 1234 * 8 + 4
98765 = 12345 * 8 + 5
987654 = 123456 * 8 + 6
9876543 = 1234567 * 8 + 7
98765432 = 12345678 * 8 + 8
987654321 = 123456789 * 8 + 9
""