2021年11月6日土曜日

211106

Ruby


Numbers k such that k^2 is palindromic in base b

出力してみた。

def A(k, n)
  i = (n * n).to_s(k)
  i == i.reverse
end

def B(k, n)
  m = 0
  cnt = 0
  ary = []
  while cnt < n
    if A(k, m)
      cnt += 1
      ary << m
    end
    m += 1
  end
  ary
end

n = 10
(2..36).each{|i|
  p [i, B(i, n)]
}

出力結果
[2, [0, 1, 3, 4523, 11991, 18197, 141683, 1092489, 3168099, 6435309]]
[3, [0, 1, 2, 4, 10, 11, 20, 22, 28, 34]]
[4, [0, 1, 5, 17, 21, 65, 71, 83, 257, 273]]
[5, [0, 1, 2, 6, 26, 31, 66, 126, 156, 626]]
[6, [0, 1, 2, 7, 37, 43, 76, 91, 217, 259]]
[7, [0, 1, 2, 4, 8, 10, 11, 20, 32, 40]]
[8, [0, 1, 2, 3, 6, 9, 11, 27, 65, 73]]
[9, [0, 1, 2, 10, 20, 82, 91, 100, 164, 730]]
[10, [0, 1, 2, 3, 11, 22, 26, 101, 111, 121]]
[11, [0, 1, 2, 3, 6, 12, 24, 26, 72, 84]]
[12, [0, 1, 2, 3, 13, 26, 145, 157, 169, 179]]
[13, [0, 1, 2, 3, 14, 28, 170, 183, 196, 209]]
[14, [0, 1, 2, 3, 15, 24, 30, 47, 165, 197]]
[15, [0, 1, 2, 3, 4, 8, 12, 16, 19, 32]]
[16, [0, 1, 2, 3, 17, 34, 257, 273, 289, 305]]
[17, [0, 1, 2, 3, 4, 6, 12, 18, 28, 36]]
[18, [0, 1, 2, 3, 4, 19, 38, 49, 65, 325]]
[19, [0, 1, 2, 3, 4, 10, 20, 40, 60, 64]]
[20, [0, 1, 2, 3, 4, 21, 42, 45, 63, 273]]
[21, [0, 1, 2, 3, 4, 22, 29, 44, 56, 66]]
[22, [0, 1, 2, 3, 4, 23, 39, 46, 51, 69]]
[23, [0, 1, 2, 3, 4, 12, 24, 48, 57, 58]]
[24, [0, 1, 2, 3, 4, 5, 10, 15, 20, 25]]
[25, [0, 1, 2, 3, 4, 26, 52, 66, 78, 626]]
[26, [0, 1, 2, 3, 4, 5, 9, 18, 27, 54]]
[27, [0, 1, 2, 3, 4, 5, 14, 28, 56, 84]]
[28, [0, 1, 2, 3, 4, 5, 29, 58, 87, 785]]
[29, [0, 1, 2, 3, 4, 5, 30, 60, 69, 81]]
[30, [0, 1, 2, 3, 4, 5, 31, 41, 62, 93]]
[31, [0, 1, 2, 3, 4, 5, 8, 16, 24, 32]]
[32, [0, 1, 2, 3, 4, 5, 33, 66, 70, 99]]
[33, [0, 1, 2, 3, 4, 5, 34, 43, 60, 68]]
[34, [0, 1, 2, 3, 4, 5, 35, 70, 105, 127]]
[35, [0, 1, 2, 3, 4, 5, 6, 12, 18, 24]]
[36, [0, 1, 2, 3, 4, 5, 37, 74, 111, 133]]