2016年6月30日木曜日

160630(2)

Ruby


Numbers n such that n^2 divides A000073(n)(8)

さらに追加した。

require 'matrix'
require 'prime'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 =
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848,
 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144,
 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264,
 661705799664, 690597394032, 1080326291184, 2004290097264, 2390491709424, 3249633454704,
 4159129331952, 4394639588976, 9835507399536, 17740453781232, 34748830731888,
 45490575587184, 48634075801584, 94136324051952, 140275445362416, 140480737763184,
 283774529521392, 295624141398768, 401344756381296, 589929385294704, 649742749424496,
 1147042853519472, 1239374962770672, 1293488919021936, 1622497195942896,
 2865640109714928, 4047233853232752, 11626271261016048, 14314629644266224,
 17089245465971952, 18074507814954864, 33227869932247536, 40929991755739632,
 75210784146090096, 95908917873800304, 102207830579832432, 262735909163805168,
 387867810981526512, 414670341642905712, 572965815899039472, 3421999174492390128,
 7580469007104944496, 7897007689185289584, 17411037199801640304,
 24433402788799381104, 4885297534960510218096, 19916982257915926273776]
p a = ary1.select{|i| f(3, i, i * i) == 0}
a.each{|i| p [i, i.prime_division]}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144, 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264, 661705799664, 690597394032, 1080326291184, 2004290097264, 2390491709424, 3249633454704, 4159129331952, 4394639588976, 9835507399536, 17740453781232, 34748830731888, 45490575587184, 48634075801584, 94136324051952, 140275445362416, 140480737763184, 283774529521392, 295624141398768, 401344756381296, 589929385294704, 649742749424496, 1147042853519472, 1239374962770672, 1293488919021936, 1622497195942896, 2865640109714928, 4047233853232752, 11626271261016048, 14314629644266224, 17089245465971952, 18074507814954864, 33227869932247536, 40929991755739632, 75210784146090096, 95908917873800304, 102207830579832432, 262735909163805168, 387867810981526512, 414670341642905712, 572965815899039472, 3421999174492390128, 7580469007104944496, 7897007689185289584, 17411037199801640304, 24433402788799381104, 4885297534960510218096, 19916982257915926273776]
[1, []]
[103, [[103, 1]]]
[112, [[2, 4], [7, 1]]]
[2621, [[2621, 1]]]
[30576, [[2, 4], [3, 1], [7, 2], [13, 1]]]
[77168, [[2, 4], [7, 1], [13, 1], [53, 1]]]
[694512, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1]]]
[9919728, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1]]]
[24770928, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1]]]
[55638128, [[2, 4], [7, 2], [13, 1], [53, 1], [103, 1]]]
[57268848, [[2, 4], [3, 1], [7, 2], [13, 1], [1873, 1]]]
[80995824, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1]]]
[1300820976, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1]]]
[2346310512, [[2, 4], [3, 2], [7, 2], [13, 1], [25579, 1]]]
[5251205232, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1]]]
[18552499056, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [26713, 1]]]
[18579650544, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1]]]
[46395948144, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1]]]
[75003063408, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [7561, 1]]]
[151508024304, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [93493, 1]]]
[151705178352, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1]]]
[393783442416, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [757, 1]]]
[445306972656, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [17977, 1]]]
[612409425264, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [7561, 1]]]
[661705799664, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [26713, 1]]]
[690597394032, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [25579, 1]]]
[1080326291184, [[2, 4], [3, 2], [7, 1], [53, 1], [757, 1], [26713, 1]]]
[2004290097264, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [3853, 1]]]
[2390491709424, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [97397, 1]]]
[3249633454704, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [757, 1], [883, 1]]]
[4159129331952, [[2, 4], [3, 2], [7, 2], [883, 1], [667549, 1]]]
[4394639588976, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [25579, 1]]]
[9835507399536, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [7561, 1]]]
[17740453781232, [[2, 4], [3, 2], [7, 2], [13, 1], [7561, 1], [25579, 1]]]
[34748830731888, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [26713, 1]]]
[45490575587184, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [883, 1], [10597, 1]]]
[48634075801584, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [93493, 1]]]
[94136324051952, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [757, 1], [25579, 1]]]
[140275445362416, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1], [26713, 1]]]
[140480737763184, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1], [7561, 1]]]
[283774529521392, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [93493, 1]]]
[295624141398768, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [97397, 1]]]
[401344756381296, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [883, 1], [93493, 1]]]
[589929385294704, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [3853, 1]]]
[649742749424496, [[2, 4], [3, 2], [7, 2], [13, 1], [757, 1], [883, 1], [10597, 1]]]
[1147042853519472, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1], [7561, 1]]]
[1239374962770672, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1], [26713, 1]]]
[1293488919021936, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [1873, 1], [25579, 1]]]
[1622497195942896, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [10597, 1]]]
[2865640109714928, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [883, 1], [667549, 1]]]
[4047233853232752, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [26713, 1], [93493, 1]]]
[11626271261016048, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [25579, 1], [93493, 1]]]
[14314629644266224, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [93493, 1]]]
[17089245465971952, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [3853, 1], [25579, 1]]]
[18074507814954864, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [7561, 1], [97397, 1]]]
[33227869932247536, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [7561, 1], [25579, 1]]]
[40929991755739632, [[2, 4], [3, 2], [7, 2], [13, 1], [757, 1], [883, 1], [667549, 1]]]
[75210784146090096, [[2, 4], [3, 1], [7, 2], [53, 1], [883, 1], [25579, 1], [26713, 1]]]
[95908917873800304, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [757, 1], [1873, 1], [97397, 1]]]
[102207830579832432, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [667549, 1]]]
[262735909163805168, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [7561, 1], [26713, 1]]]
[387867810981526512, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [883, 1], [10597, 1], [25579, 1]]]
[414670341642905712, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [25579, 1], [93493, 1]]]
[572965815899039472, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [10597, 1], [667549, 1]]]
[3421999174492390128, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [883, 1], [25579, 1], [93493, 1]]]
[7580469007104944496, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [26713, 1], [93493, 1]]]
[7897007689185289584, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [26713, 1], [97397, 1]]]
[17411037199801640304, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1], [3853, 1], [97397, 1]]]
[24433402788799381104, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [883, 1], [25579, 1], [667549, 1]]]
[4885297534960510218096, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [10597, 1], [25579, 1], [667549, 1]]]
[19916982257915926273776, [[2, 4], [3, 1], [7, 2], [53, 1], [883, 1], [10597, 1], [25579, 1], [667549, 1]]]

160630

Ruby


Numbers n such that n^2 divides A000073(n)(7)

さらに追加した。

require 'matrix'
require 'prime'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 =
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848,
 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144,
 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264,
 661705799664, 690597394032, 1080326291184, 2390491709424, 3249633454704, 4159129331952,
 4394639588976, 9835507399536, 17740453781232, 34748830731888, 45490575587184,
 48634075801584, 94136324051952, 140275445362416, 140480737763184, 283774529521392,
 295624141398768, 401344756381296, 649742749424496, 1147042853519472, 1239374962770672,
 1293488919021936, 1622497195942896, 2865640109714928, 4047233853232752,
 11626271261016048, 14314629644266224, 18074507814954864, 33227869932247536,
 40929991755739632, 75210784146090096, 95908917873800304, 102207830579832432,
 262735909163805168, 387867810981526512, 414670341642905712, 572965815899039472,
 3421999174492390128, 7580469007104944496, 7897007689185289584, 24433402788799381104,
 4885297534960510218096, 19916982257915926273776]
p a = ary1.select{|i| f(3, i, i * i) == 0}
a.each{|i| p [i, i.prime_division]}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144, 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264, 661705799664, 690597394032, 1080326291184, 2390491709424, 3249633454704, 4159129331952, 4394639588976, 9835507399536, 17740453781232, 34748830731888, 45490575587184, 48634075801584, 94136324051952, 140275445362416, 140480737763184, 283774529521392, 295624141398768, 401344756381296, 649742749424496, 1147042853519472, 1239374962770672, 1293488919021936, 1622497195942896, 2865640109714928, 4047233853232752, 11626271261016048, 14314629644266224, 18074507814954864, 33227869932247536, 40929991755739632, 75210784146090096, 95908917873800304, 102207830579832432, 262735909163805168, 387867810981526512, 414670341642905712, 572965815899039472, 3421999174492390128, 7580469007104944496, 7897007689185289584, 24433402788799381104, 4885297534960510218096, 19916982257915926273776]
[1, []]
[103, [[103, 1]]]
[112, [[2, 4], [7, 1]]]
[2621, [[2621, 1]]]
[30576, [[2, 4], [3, 1], [7, 2], [13, 1]]]
[77168, [[2, 4], [7, 1], [13, 1], [53, 1]]]
[694512, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1]]]
[9919728, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1]]]
[24770928, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1]]]
[55638128, [[2, 4], [7, 2], [13, 1], [53, 1], [103, 1]]]
[57268848, [[2, 4], [3, 1], [7, 2], [13, 1], [1873, 1]]]
[80995824, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1]]]
[1300820976, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1]]]
[2346310512, [[2, 4], [3, 2], [7, 2], [13, 1], [25579, 1]]]
[5251205232, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1]]]
[18552499056, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [26713, 1]]]
[18579650544, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1]]]
[46395948144, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1]]]
[75003063408, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [7561, 1]]]
[151508024304, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [93493, 1]]]
[151705178352, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1]]]
[393783442416, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [757, 1]]]
[445306972656, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [17977, 1]]]
[612409425264, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [7561, 1]]]
[661705799664, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [26713, 1]]]
[690597394032, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [25579, 1]]]
[1080326291184, [[2, 4], [3, 2], [7, 1], [53, 1], [757, 1], [26713, 1]]]
[2390491709424, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [97397, 1]]]
[3249633454704, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [757, 1], [883, 1]]]
[4159129331952, [[2, 4], [3, 2], [7, 2], [883, 1], [667549, 1]]]
[4394639588976, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [25579, 1]]]
[9835507399536, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [7561, 1]]]
[17740453781232, [[2, 4], [3, 2], [7, 2], [13, 1], [7561, 1], [25579, 1]]]
[34748830731888, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [26713, 1]]]
[45490575587184, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [883, 1], [10597, 1]]]
[48634075801584, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [93493, 1]]]
[94136324051952, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [757, 1], [25579, 1]]]
[140275445362416, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1], [26713, 1]]]
[140480737763184, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1], [7561, 1]]]
[283774529521392, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [93493, 1]]]
[295624141398768, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [97397, 1]]]
[401344756381296, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [883, 1], [93493, 1]]]
[649742749424496, [[2, 4], [3, 2], [7, 2], [13, 1], [757, 1], [883, 1], [10597, 1]]]
[1147042853519472, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1], [7561, 1]]]
[1239374962770672, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1], [26713, 1]]]
[1293488919021936, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [1873, 1], [25579, 1]]]
[1622497195942896, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [10597, 1]]]
[2865640109714928, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [883, 1], [667549, 1]]]
[4047233853232752, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [26713, 1], [93493, 1]]]
[11626271261016048, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [25579, 1], [93493, 1]]]
[14314629644266224, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [93493, 1]]]
[18074507814954864, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [7561, 1], [97397, 1]]]
[33227869932247536, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [7561, 1], [25579, 1]]]
[40929991755739632, [[2, 4], [3, 2], [7, 2], [13, 1], [757, 1], [883, 1], [667549, 1]]]
[75210784146090096, [[2, 4], [3, 1], [7, 2], [53, 1], [883, 1], [25579, 1], [26713, 1]]]
[95908917873800304, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [757, 1], [1873, 1], [97397, 1]]]
[102207830579832432, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [667549, 1]]]
[262735909163805168, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [7561, 1], [26713, 1]]]
[387867810981526512, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [883, 1], [10597, 1], [25579, 1]]]
[414670341642905712, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [25579, 1], [93493, 1]]]
[572965815899039472, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [10597, 1], [667549, 1]]]
[3421999174492390128, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [883, 1], [25579, 1], [93493, 1]]]
[7580469007104944496, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [26713, 1], [93493, 1]]]
[7897007689185289584, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [26713, 1], [97397, 1]]]
[24433402788799381104, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [883, 1], [25579, 1], [667549, 1]]]
[4885297534960510218096, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [10597, 1], [25579, 1], [667549, 1]]]
[19916982257915926273776, [[2, 4], [3, 1], [7, 2], [53, 1], [883, 1], [10597, 1], [25579, 1], [667549, 1]]]

2016年6月29日水曜日

160629(3)

Ruby


Numbers n such that n^2 divides A000073(n)(6)

大幅に追加した。

require 'matrix'
require 'prime'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 =
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848,
 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144,
 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264,
 661705799664, 690597394032, 1080326291184, 2390491709424, 3249633454704, 4394639588976,
 9835507399536, 17740453781232, 34748830731888, 48634075801584, 94136324051952,
 140275445362416, 140480737763184, 283774529521392, 295624141398768, 401344756381296,
 1147042853519472, 1239374962770672, 1293488919021936, 4047233853232752,
 11626271261016048, 14314629644266224, 18074507814954864, 33227869932247536,
 75210784146090096, 95908917873800304, 262735909163805168, 414670341642905712,
 3421999174492390128, 7580469007104944496, 7897007689185289584]
p a = ary1.select{|i| f(3, i, i * i) == 0}
a.each{|i| p [i, i.prime_division]}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144, 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264, 661705799664, 690597394032, 1080326291184, 2390491709424, 3249633454704, 4394639588976, 9835507399536, 17740453781232, 34748830731888, 48634075801584, 94136324051952, 140275445362416, 140480737763184, 283774529521392, 295624141398768, 401344756381296, 1147042853519472, 1239374962770672, 1293488919021936, 4047233853232752, 11626271261016048, 14314629644266224, 18074507814954864, 33227869932247536, 75210784146090096, 95908917873800304, 262735909163805168, 414670341642905712, 3421999174492390128, 7580469007104944496, 7897007689185289584]
[1, []]
[103, [[103, 1]]]
[112, [[2, 4], [7, 1]]]
[2621, [[2621, 1]]]
[30576, [[2, 4], [3, 1], [7, 2], [13, 1]]]
[77168, [[2, 4], [7, 1], [13, 1], [53, 1]]]
[694512, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1]]]
[9919728, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1]]]
[24770928, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1]]]
[55638128, [[2, 4], [7, 2], [13, 1], [53, 1], [103, 1]]]
[57268848, [[2, 4], [3, 1], [7, 2], [13, 1], [1873, 1]]]
[80995824, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1]]]
[1300820976, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1]]]
[2346310512, [[2, 4], [3, 2], [7, 2], [13, 1], [25579, 1]]]
[5251205232, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1]]]
[18552499056, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [26713, 1]]]
[18579650544, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1]]]
[46395948144, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1]]]
[75003063408, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [7561, 1]]]
[151508024304, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [93493, 1]]]
[151705178352, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1]]]
[393783442416, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [757, 1]]]
[445306972656, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [17977, 1]]]
[612409425264, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [7561, 1]]]
[661705799664, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [26713, 1]]]
[690597394032, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [25579, 1]]]
[1080326291184, [[2, 4], [3, 2], [7, 1], [53, 1], [757, 1], [26713, 1]]]
[2390491709424, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [97397, 1]]]
[3249633454704, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [757, 1], [883, 1]]]
[4394639588976, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [25579, 1]]]
[9835507399536, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [7561, 1]]]
[17740453781232, [[2, 4], [3, 2], [7, 2], [13, 1], [7561, 1], [25579, 1]]]
[34748830731888, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [26713, 1]]]
[48634075801584, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [93493, 1]]]
[94136324051952, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [757, 1], [25579, 1]]]
[140275445362416, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1], [26713, 1]]]
[140480737763184, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1], [7561, 1]]]
[283774529521392, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [93493, 1]]]
[295624141398768, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [97397, 1]]]
[401344756381296, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [883, 1], [93493, 1]]]
[1147042853519472, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1], [7561, 1]]]
[1239374962770672, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1], [26713, 1]]]
[1293488919021936, [[2, 4], [3, 1], [7, 2], [13, 1], [883, 1], [1873, 1], [25579, 1]]]
[4047233853232752, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [26713, 1], [93493, 1]]]
[11626271261016048, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [25579, 1], [93493, 1]]]
[14314629644266224, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [883, 1], [93493, 1]]]
[18074507814954864, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [7561, 1], [97397, 1]]]
[33227869932247536, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [7561, 1], [25579, 1]]]
[75210784146090096, [[2, 4], [3, 1], [7, 2], [53, 1], [883, 1], [25579, 1], [26713, 1]]]
[95908917873800304, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [757, 1], [1873, 1], [97397, 1]]]
[262735909163805168, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1], [7561, 1], [26713, 1]]]
[414670341642905712, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [107, 1], [25579, 1], [93493, 1]]]
[3421999174492390128, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [883, 1], [25579, 1], [93493, 1]]]
[7580469007104944496, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [26713, 1], [93493, 1]]]
[7897007689185289584, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [1873, 1], [26713, 1], [97397, 1]]]

160629(2)

Ruby


Numbers n such that n^2 divides A000073(n)(5)

2つ追加した。

require 'matrix'
require 'prime'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 =
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848,
 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144,
 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264,
 2390491709424, 4394639588976]
p a = ary1.select{|i| f(3, i, i * i) == 0}
a.each{|i| p [i, i.prime_division]}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144, 75003063408, 151508024304, 151705178352, 393783442416, 445306972656, 612409425264, 2390491709424, 4394639588976]
[1, []]
[103, [[103, 1]]]
[112, [[2, 4], [7, 1]]]
[2621, [[2621, 1]]]
[30576, [[2, 4], [3, 1], [7, 2], [13, 1]]]
[77168, [[2, 4], [7, 1], [13, 1], [53, 1]]]
[694512, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1]]]
[9919728, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1]]]
[24770928, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1]]]
[55638128, [[2, 4], [7, 2], [13, 1], [53, 1], [103, 1]]]
[57268848, [[2, 4], [3, 1], [7, 2], [13, 1], [1873, 1]]]
[80995824, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1]]]
[1300820976, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1]]]
[2346310512, [[2, 4], [3, 2], [7, 2], [13, 1], [25579, 1]]]
[5251205232, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1]]]
[18552499056, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [26713, 1]]]
[18579650544, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1]]]
[46395948144, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1]]]
[75003063408, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [7561, 1]]]
[151508024304, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [93493, 1]]]
[151705178352, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1]]]
[393783442416, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [757, 1]]]
[445306972656, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [17977, 1]]]
[612409425264, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [7561, 1]]]
[2390491709424, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [97397, 1]]]
[4394639588976, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [25579, 1]]]

160629

Ruby


Numbers n such that n^2 divides A000073(n)(4)

3つ追加した。

require 'matrix'
require 'prime'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 =
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848,
 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144,
 151508024304, 151705178352, 393783442416, 445306972656, 2390491709424, 4394639588976]
p a = ary1.select{|i| f(3, i, i * i) == 0}
a.each{|i| p [i, i.prime_division]}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 5251205232, 18552499056, 18579650544, 46395948144, 151508024304, 151705178352, 393783442416, 445306972656, 2390491709424, 4394639588976]
[1, []]
[103, [[103, 1]]]
[112, [[2, 4], [7, 1]]]
[2621, [[2621, 1]]]
[30576, [[2, 4], [3, 1], [7, 2], [13, 1]]]
[77168, [[2, 4], [7, 1], [13, 1], [53, 1]]]
[694512, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1]]]
[9919728, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1]]]
[24770928, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1]]]
[55638128, [[2, 4], [7, 2], [13, 1], [53, 1], [103, 1]]]
[57268848, [[2, 4], [3, 1], [7, 2], [13, 1], [1873, 1]]]
[80995824, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1]]]
[1300820976, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1]]]
[2346310512, [[2, 4], [3, 2], [7, 2], [13, 1], [25579, 1]]]
[5251205232, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [7561, 1]]]
[18552499056, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [26713, 1]]]
[18579650544, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1]]]
[46395948144, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1]]]
[151508024304, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [93493, 1]]]
[151705178352, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1]]]
[393783442416, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [757, 1]]]
[445306972656, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [17977, 1]]]
[2390491709424, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [97397, 1]]]
[4394639588976, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [25579, 1]]]

2016年6月28日火曜日

160628(4)

Ruby


Numbers n such that n^2 divides A000073(n)(3)

2つ追加した。

require 'matrix'
require 'prime'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 = [1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 18579650544, 46395948144, 151508024304, 151705178352, 393783442416, 2390491709424, 4394639588976]
p a = ary1.select{|i| f(3, i, i * i) == 0}
a.each{|i| p [i, i.prime_division]}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 18579650544, 46395948144, 151508024304, 151705178352, 393783442416, 2390491709424, 4394639588976]
[1, []]
[103, [[103, 1]]]
[112, [[2, 4], [7, 1]]]
[2621, [[2621, 1]]]
[30576, [[2, 4], [3, 1], [7, 2], [13, 1]]]
[77168, [[2, 4], [7, 1], [13, 1], [53, 1]]]
[694512, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1]]]
[9919728, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1]]]
[24770928, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1]]]
[55638128, [[2, 4], [7, 2], [13, 1], [53, 1], [103, 1]]]
[57268848, [[2, 4], [3, 1], [7, 2], [13, 1], [1873, 1]]]
[80995824, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1]]]
[1300820976, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1]]]
[2346310512, [[2, 4], [3, 2], [7, 2], [13, 1], [25579, 1]]]
[18579650544, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1]]]
[46395948144, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1]]]
[151508024304, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [93493, 1]]]
[151705178352, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1]]]
[393783442416, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [757, 1]]]
[2390491709424, [[2, 4], [3, 2], [7, 1], [13, 1], [1873, 1], [97397, 1]]]
[4394639588976, [[2, 4], [3, 2], [7, 2], [13, 1], [1873, 1], [25579, 1]]]

160628(3)

Ruby


Numbers n such that n^2 divides A000073(n)(2)

新種を追加した。

require 'matrix'
require 'prime'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 = [1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 18579650544, 46395948144, 151508024304, 151705178352, 393783442416]
p a = ary1.select{|i| f(3, i, i * i) == 0}
a.each{|i| p [i, i.prime_division]}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 18579650544, 46395948144, 151508024304, 151705178352, 393783442416]
[1, []]
[103, [[103, 1]]]
[112, [[2, 4], [7, 1]]]
[2621, [[2621, 1]]]
[30576, [[2, 4], [3, 1], [7, 2], [13, 1]]]
[77168, [[2, 4], [7, 1], [13, 1], [53, 1]]]
[694512, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1]]]
[9919728, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1]]]
[24770928, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1]]]
[55638128, [[2, 4], [7, 2], [13, 1], [53, 1], [103, 1]]]
[57268848, [[2, 4], [3, 1], [7, 2], [13, 1], [1873, 1]]]
[80995824, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1]]]
[1300820976, [[2, 4], [3, 2], [7, 1], [13, 1], [53, 1], [1873, 1]]]
[2346310512, [[2, 4], [3, 2], [7, 2], [13, 1], [25579, 1]]]
[18579650544, [[2, 4], [3, 2], [7, 1], [13, 1], [757, 1], [1873, 1]]]
[46395948144, [[2, 4], [3, 1], [7, 1], [13, 1], [53, 1], [107, 1], [1873, 1]]]
[151508024304, [[2, 4], [3, 1], [7, 2], [13, 1], [53, 1], [93493, 1]]]
[151705178352, [[2, 4], [3, 2], [7, 2], [13, 1], [883, 1], [1873, 1]]]
[393783442416, [[2, 4], [3, 2], [7, 2], [13, 1], [53, 1], [107, 1], [757, 1]]]

160628(2)

Ruby


Numbers n such that n^2 divides A000073(n)(1)

オンライン整数列大辞典のA274518 について、
このような性質をもつ数を見つけたので、
検証してみる。

require 'matrix'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n, mod)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  (power(a, n, mod) * v)[m - 1]
end

# チェック用
ary0 = (1..103).to_a
p ary0.select{|i| f(3, i, i * i) == 0}

ary1 = [1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 151508024304, 151705178352, 393783442416]
p ary1.select{|i| f(3, i, i * i) == 0}

出力結果
[1, 103]
[1, 103, 112, 2621, 30576, 77168, 694512, 9919728, 24770928, 55638128, 57268848, 80995824, 1300820976, 2346310512, 151508024304, 151705178352, 393783442416]

160628

新たな整数列(9)

https://oeis.org/A274518
が追加されました。

2016年6月25日土曜日

160625(3)

Ruby


i 番目のn-step Fibonacci number がi で割り切れる場合

掲題について、
n = 2, 3 のときがそれぞれ
オンライン整数列大辞典の
A023172、A232570
に載っているが、
さらに調べてみた。

require 'matrix'
def power(a, n, mod)
  return Matrix.I(a.row_size) if n == 0
  m = power(a, n >> 1, mod)
  m = (m * m).map{|i| i % mod}
  return m if n & 1 == 0
  (m * a).map{|i| i % mod}
end
def f(m, n)
  ary0 = Array.new(m, 0)
  ary0[0] = 1
  v = Vector.elements(ary0)
  ary1 = [Array.new(m, 1)]
  (0..m - 2).each{|i|
    ary2 = Array.new(m, 0)
    ary2[i] = 1
    ary1 << ary2
  }
  a = Matrix[*ary1]
  mod = n
  (power(a, n, mod) * v)[m - 1]
end

n = 10000
(1..10).each{|i|
  p [i, (1..n).select{|j| f(i, j) == 0}]
}

出力結果
[1, [1]]
[2, [1, 5, 12, 24, 25, 36, 48, 60, 72, 96, 108, 120, 125, 144, 168, 180, 192, 216, 240, 288, 300, 324, 336, 360, 384, 432, 480, 504, 540, 552, 576, 600, 612, 625, 648, 660, 672, 684, 720, 768, 840, 864, 900, 960, 972, 1008, 1080, 1104, 1152, 1176, 1200, 1224, 1296, 1320, 1344, 1368, 1440, 1500, 1512, 1536, 1620, 1656, 1680, 1728, 1800, 1836, 1860, 1920, 1944, 1980, 2016, 2052, 2160, 2184, 2208, 2256, 2304, 2352, 2400, 2448, 2460, 2520, 2592, 2640, 2688, 2700, 2736, 2760, 2880, 2916, 3000, 3024, 3060, 3072, 3125, 3240, 3300, 3312, 3360, 3420, 3456, 3528, 3600, 3660, 3672, 3720, 3840, 3852, 3864, 3888, 3960, 4032, 4104, 4200, 4320, 4368, 4416, 4500, 4512, 4536, 4608, 4704, 4800, 4860, 4872, 4896, 4920, 4968, 5040, 5184, 5280, 5376, 5400, 5472, 5508, 5520, 5580, 5724, 5760, 5832, 5880, 5940, 6000, 6048, 6120, 6144, 6156, 6480, 6552, 6600, 6624, 6720, 6768, 6840, 6912, 7056, 7200, 7260, 7320, 7344, 7380, 7440, 7500, 7560, 7680, 7704, 7728, 7776, 7920, 8064, 8100, 8208, 8232, 8280, 8400, 8568, 8640, 8736, 8748, 8832, 9000, 9024, 9072, 9180, 9216, 9240, 9300, 9408, 9576, 9600, 9720, 9744, 9792, 9840, 9900, 9936]]
[3, [1, 8, 16, 19, 32, 47, 53, 64, 103, 112, 128, 144, 155, 163, 192, 199, 208, 221, 224, 256, 257, 269, 272, 299, 311, 368, 397, 401, 419, 421, 448, 499, 512, 587, 599, 617, 640, 683, 757, 768, 773, 784, 863, 883, 896, 907, 911, 929, 936, 991, 1021, 1024, 1087, 1109, 1123, 1181, 1197, 1237, 1291, 1307, 1367, 1433, 1439, 1456, 1504, 1543, 1567, 1568, 1571, 1609, 1621, 1664, 1697, 1699, 1753, 1792, 1873, 1904, 1907, 2003, 2016, 2039, 2048, 2069, 2113, 2237, 2328, 2381, 2539, 2579, 2621, 2671, 2688, 2729, 2731, 2777, 2797, 2803, 2843, 2897, 2912, 2927, 2936, 2953, 3041, 3088, 3120, 3136, 3191, 3257, 3259, 3264, 3323, 3391, 3433, 3463, 3499, 3584, 3613, 3623, 3631, 3677, 3701, 3733, 3793, 3853, 3877, 3919, 3943, 4007, 4013, 4027, 4079, 4093, 4096, 4139, 4256, 4337, 4349, 4368, 4409, 4481, 4547, 4591, 4621, 4673, 4723, 4789, 4871, 4931, 4933, 4937, 4943, 4951, 4987, 4999, 5024, 5107, 5179, 5184, 5333, 5392, 5413, 5417, 5437, 5483, 5488, 5527, 5669, 5791, 5801, 5824, 5839, 5861, 6007, 6053, 6073, 6143, 6144, 6160, 6272, 6329, 6337, 6359, 6361, 6367, 6373, 6451, 6571, 6637, 6719, 6737, 6779, 6823, 6911, 6917, 6961, 6967, 7001, 7019, 7043, 7056, 7168, 7177, 7297, 7331, 7349, 7351, 7451, 7488, 7517, 7561, 7577, 7583, 7621, 7649, 7789, 7840, 7877, 7951, 8017, 8053, 8111, 8123, 8171, 8192, 8273, 8287, 8317, 8363, 8369, 8387, 8419, 8563, 8573, 8669, 8677, 8693, 8736, 8737, 8803, 8849, 8893, 8960, 9043, 9161, 9199, 9227, 9293, 9377, 9419, 9421, 9431, 9461, 9463, 9491, 9619, 9749, 9791, 9817, 9871, 9901, 9949]]
[4, [1, 2, 22, 32, 80, 137, 179, 272, 320, 352, 600, 653, 859, 936, 991, 1279, 1280, 1306, 1601, 1609, 1632, 1672, 1982, 2089, 2152, 2437, 2560, 2591, 2693, 2789, 2897, 3120, 3202, 3701, 3823, 3847, 4110, 4212, 4451, 4691, 4751, 4919, 5120, 5182, 5280, 5386, 5431, 5479, 5807, 5903, 5953, 6203, 6421, 6781, 6917, 7253, 7402, 7646, 7867, 8317, 8400, 8902, 9187, 9277, 9382, 9502, 9533, 9629, 9767, 9907, 9967]]
[5, [1, 2, 3, 8, 12, 18, 48, 72, 127, 146, 156, 384, 589, 650, 691, 733, 974, 1028, 1382, 1466, 1632, 1862, 2073, 2199, 3120, 3163, 4259, 4358, 4397, 5286, 5419, 6326, 6536, 6637, 6733, 8009, 8311, 8702, 9803]]
[6, [1, 2, 3, 4, 16, 24, 32, 38, 78, 114, 256, 289, 448, 470, 1176, 2597, 3276, 3584, 4288, 4480, 4706, 5616, 5632, 7856, 8064]]
[7, [1, 2, 3, 4, 5, 32, 36, 44, 64, 74, 96, 128, 160, 192, 207, 256, 297, 337, 362, 512, 644, 1024, 1344, 1972, 2048, 2176, 2436, 2693, 2912, 3072, 3969, 4096, 5829, 7168, 8192, 9216]]
[8, [1, 2, 3, 4, 5, 6, 32, 48, 72, 96, 100, 112, 138, 156, 162, 256, 276, 288, 336, 384, 432, 544, 568, 624, 896, 992, 1152, 1536, 1776, 2560, 2796, 4204, 4608, 4752, 6912, 9024, 9536]]
[9, [1, 2, 3, 4, 5, 6, 7, 16, 20, 26, 31, 32, 40, 52, 64, 96, 119, 136, 141, 269, 384, 424, 432, 752, 912, 1024, 1109, 1620, 2124, 4752, 4852, 5476, 7955, 8527]]
[10, [1, 2, 3, 4, 5, 6, 7, 8, 16, 47, 73, 80, 128, 136, 181, 188, 248, 304, 346, 448, 512, 1280, 1536, 2064, 2302, 2944, 2964, 6032, 8192]]

160625(2)

整数列のLINKS の編集(53)

https://oeis.org/A023172
https://oeis.org/A072378
https://oeis.org/A128974
のLINKS を編集しました。

160625

新たな整数列(8)

https://oeis.org/A232570
が追加されました。

2016年6月19日日曜日

160619(3)

Ruby


Glaisher's chi_4(n)(3)

ちなみに、さらに整理した
Π(1 - (-x)^n)(1 + x^(2n)) = Π(1 + x^n)(1 - x^(2n))
も確認したが、かえって遅くなってしまった。

# m次以下を取り出す
def mul(f_ary, b_ary, m)
  s1, s2 = f_ary.size, b_ary.size
  ary = Array.new(s1 + s2 - 1, 0)
  (0..s1 - 1).each{|i|
    (0..s2 - 1).each{|j|
      ary[i + j] += f_ary[i] * b_ary[j]
    }
  }
  ary[0..m]
end

def p0(n)
  (3 * n * n - n) / 2
end

def p1(n)
  (3 * n * n + n) / 2
end

def A010815(n)
  ary = Array.new(n + 1, 0)
  ary[0] = 1
  i = 1
  j = p0(i)
  while j <= n
    ary[j] = (-1) ** i
    i += 1
    j = p0(i)
  end
  i = 1
  j = p1(i)
  while j <= n
    ary[j] = (-1) ** i
    i += 1
    j = p1(i)
  end
  ary
end

def A(n)
  ary = A010815(n)
  ary1 = (0..n).map{|i| (-1) ** i * ary[i]}
  ary2 = [1]
  2.step(n, 2){|i|
    b_ary = Array.new(i + 1, 0)
    b_ary[0], b_ary[-1] = 1, 1
    ary2 = mul(ary2, b_ary, n)
  }
  mul(ary1, ary2, n)
end

def B(n)
  ary = A010815(n)
  ary2 = Array.new(n + 1, 0)
  (0..n / 2).each{|i| ary2[2 * i] = ary[i]}
  ary1 = [1]
  (1..n).each{|i|
    b_ary = Array.new(i + 1, 0)
    b_ary[0], b_ary[-1] = 1, 1
    ary1 = mul(ary1, b_ary, n)
  }
  mul(ary1, ary2, n)
end

n = 1000
p a = A(n)
p b = B(n)
p a == b

出力結果
[1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
true

160619(2)

Ruby


Glaisher's chi_4(n)(2)

φ(x) φ(-x) φ(x^4) = φ(x^2)^3
を確認しておく。

# m次以下を取り出す
def mul(f_ary, b_ary, m)
  s1, s2 = f_ary.size, b_ary.size
  ary = Array.new(s1 + s2 - 1, 0)
  (0..s1 - 1).each{|i|
    (0..s2 - 1).each{|j|
      ary[i + j] += f_ary[i] * b_ary[j]
    }
  }
  ary[0..m]
end

def p0(n)
  (3 * n * n - n) / 2
end

def p1(n)
  (3 * n * n + n) / 2
end

def A010815(n)
  ary = Array.new(n + 1, 0)
  ary[0] = 1
  i = 1
  j = p0(i)
  while j <= n
    ary[j] = (-1) ** i
    i += 1
    j = p0(i)
  end
  i = 1
  j = p1(i)
  while j <= n
    ary[j] = (-1) ** i
    i += 1
    j = p1(i)
  end
  ary
end

def A(n)
  ary = A010815(n)
  ary0 = (0..n).map{|i| (-1) ** i * ary[i]}
  ary4 = Array.new(n + 1, 0)
  (0..n / 4).each{|i| ary4[4 * i] = ary[i]}
  ary = mul(ary, ary0, n)
  mul(ary, ary4, n)
end

def B(n)
  ary = Array.new(n + 1, 0)
  # ヤコビの公式の必要なところだけ取り出す
  i = 0
  j, k = 2 * i + 1, i * (i + 1) / 2
  while k <= n
    i & 1 == 1? ary[k] = -j : ary[k] = j
    i += 1
    j, k = 2 * i + 1, i * (i + 1) / 2
  end
  ary2 = Array.new(n + 1, 0)
  (0..n / 2).each{|i| ary2[2 * i] = ary[i]}
  ary2
end

n = 1000
p a = A(n)
p b = B(n)
p a == b

出力結果
[1, 0, -3, 0, 0, 0, 5, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 0, -3, 0, 0, 0, 5, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0]
true

160619

Ruby


Glaisher's chi_4(n)(1)

ラマヌジャン《ゼータ関数論文集》
を見ていると、chi_4(n) について以下の式が載っていた。

chi_4(n) = f(x^2)^14 / f(-x)^4
(ただし、f(x) = x^(1 / 24) (1 - x)(1 - x^2)(1 - x^3)…)

整理すれば、
φ(x) φ(-x) φ(x^4) = φ(x^2)^3
(ただし、φ(x) はオイラー関数)
を示せばいいだけだが、
あえて
φ(x)^4 φ(x^2)^2 φ(x^4)^4 φ(-x)^4 = φ(x^2)^14
を確認することにした。

# m次以下を取り出す
def mul(f_ary, b_ary, m)
  s1, s2 = f_ary.size, b_ary.size
  ary = Array.new(s1 + s2 - 1, 0)
  (0..s1 - 1).each{|i|
    (0..s2 - 1).each{|j|
      ary[i + j] += f_ary[i] * b_ary[j]
    }
  }
  ary[0..m]
end

def p0(n)
  (3 * n * n - n) / 2
end

def p1(n)
  (3 * n * n + n) / 2
end

def A010815(n)
  ary = Array.new(n + 1, 0)
  ary[0] = 1
  i = 1
  j = p0(i)
  while j <= n
    ary[j] = (-1) ** i
    i += 1
    j = p0(i)
  end
  i = 1
  j = p1(i)
  while j <= n
    ary[j] = (-1) ** i
    i += 1
    j = p1(i)
  end
  ary
end

# m次以下を取り出す
def power(ary, n, m)
  return [1] if n == 0
  k = power(ary, n >> 1, m)
  k = mul(k, k, m)
  return k if n & 1 == 0
  return mul(k, ary, m)
end

def A(n)
  ary = A010815(n)
  ary0 = (0..n).map{|i| (-1) ** i * ary[i]}
  ary2 = Array.new(n + 1, 0)
  (0..n / 2).each{|i| ary2[2 * i] = ary[i]}
  ary4 = Array.new(n + 1, 0)
  (0..n / 4).each{|i| ary4[4 * i] = ary[i]}
  ary04 = power(ary0, 4, n)
  ary14 = power(ary, 4, n)
  ary22 = mul(ary2, ary2, n)
  ary44 = power(ary4, 4, n)
  ary = mul(ary14, ary22, n)
  ary = mul(ary, ary44, n)
  mul(ary, ary04, n)
end

def B(n)
  ary = A010815(n)
  ary2 = Array.new(n + 1, 0)
  (0..n / 2).each{|i| ary2[2 * i] = ary[i]}
  power(ary2, 14, n)
end

n = 1000
p a = A(n)
p b = B(n)
p a == b

出力結果
[1, 0, -14, 0, 77, 0, -182, 0, 0, 0, 924, 0, -1547, 0, -506, 0, 3003, 0, 0, 0, -1729, 0, -8372, 0, 9177, 0, 13090, 0, -15625, 0, 0, 0, -17017, 0, 10556, 0, 30107, 0, 0, 0, 7084, 0, -89206, 0, 11571, 0, 69160, 0, 0, 0, 27132, 0, 0, 0, -19096, 0, -153502, 0, 0, 0, 93093, 0, 165242, 0, 0, 0, -38962, 0, 0, 0, -420838, 0, 257439, 0, 0, 0, -76153, 0, 218750, 0, 168245, 0, 397320, 0, -638066, 0, -399126, 0, 0, 0, 67158, 0, 92092, 0, 530348, 0, 0, 0, 0, 0, 424879, 0, -659736, 0, -96019, 0, -629706, 0, 0, 0, 0, 0, 56446, 0, 839762, 0, 1248884, 0, 0, 0, -651651, 0, -1262884, 0, -1272271, 0, 2172742, 0, -1203125, 0, -566370, 0, 0, 0, 1525510, 0, 893893, 0, 0, 0, 1771561, 0, -1979978, 0, -467544, 0, -1599598, 0, 0, 0, -2244242, 0, 245973, 0, 3796114, 0, 0, 0, 0, 0, 2678571, 0, 0, 0, -3114111, 0, 0, 0, 0, 0, 782782, 0, -2185183, 0, -3062864, 0, -1774409, 0, 2843750, 0, 1467389, 0, 7082714, 0, 0, 0, -701624, 0, 0, 0, -6868862, 0, 5891732, 0, -4244240, 0, -4570773, 0, 0, 0, 0, 0, 0, 0, 5966779, 0, 0, 0, 0, 0, -98282, 0, 4466539, 0, 5499494, 0, -6279273, 0, 0, 0, -2425787, 0, -1519518, 0, -13055614, 0, 0, 0, 0, 0, 8932924, 0, 4682055, 0, 0, 0, 9235303, 0, 0, 0, -2622893, 0, -9712066, 0, 7432439, 0, 1407406, 0, 0, 0, 0, 0, -20878627, 0, -5892432, 0, 10975965, 0, 0, 0, 4738657, 0, -7693336, 0, 16235492, 0, 4072822, 0, 0, 0, 9666916, 0, 0, 0, 874874, 0, -5307757, 0, -14437500, 0, -26439842, 0, 12796784, 0, 0, 0, 2048606, 0, 0, 0, 16777684, 0, -13346151, 0, 0, 0, 16316223, 0, 0, 0, 4236232, 0, 0, 0, 13753663, 0, -790244, 0, 0, 0, -18490458, 0, -5817735, 0, -32404526, 0, 0, 0, 0, 0, 0, 0, 26266966, 0, 1616615, 0, -4643562, 0, 24171875, 0, -8626058, 0, 14084161, 0, 23977954, 0, -24137569, 0, 0, 0, 0, 0, 0, 0, -30418388, 0, -28962934, 0, 0, 0, 49349482, 0, -6623540, 0, -26415480, 0, -19723627, 0, 0, 0, 0, 0, 29554602, 0, 38871506, 0, 16799706, 0, 0, 0, 0, 0, 35830067, 0, -31107636, 0, -49131082, 0, 7906250, 0, -36575721, 0, -24801854, 0, 28775747, 0, 0, 0, 0, 0, -38459344, 0, 52240606, 0, -21770098, 0, 42746067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56926298, 0, 0, 0, 29745716, 0, -82426344, 0, 0, 0, -10375015, 0, 0, 0, -29158919, 0, -24094070, 0, 5468645, 0, 0, 0, -46921875, 0, 8610602, 0, 0, 0, 48732266, 0, 76592516, 0, 0, 0, 58877105, 0, 17960110, 0, -29479527, 0, -51758812, 0, 0, 0, -12626614, 0, -64358917, 0, 36758722, 0, -5341336, 0, 0, 0, 67366495, 0, -123725446, 0, -3957863, 0, -27308358, 0, 0, 0, 0, 0, 0, 0, 72900282, 0, 68839342, 0, 0, 0, 17098081, 0, -15234142, 0, 0, 0, 138001682, 0, 0, 0, -144474122, 0, 0, 0, -8006922, 0, -99157996, 0, 0, 0, 4346342, 0, 57627570, 0, -155657374, 0, 0, 0, 0, 0, 79537458, 0, 93549351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116128012, 0, 0, 0, -53496716, 0, 27015625, 0, -103819884, 0, 29343886, 0, 63990822, 0, 0, 0, 0, 0, 0, 0, -93611518, 0, -23385439, 0, -250543524, 0, 0, 0, -10467898, 0, 108434235, 0, 87827740, 0, 70622811, 0, 0, 0, 45138236, 0, 167301134, 0, -63883897, 0, 0, 0, 0, 0, 0, 0, 1375948, 0, 0, 0, -132089881, 0, 130812500, 0, 0, 0, -126725676, 0, -131134549, 0, -5854926, 0, 0, 0, -37049936, 0, 61049261, 0, -7329686, 0, -50733515, 0, 0, 0, 150522267, 0, 0, 0, -125126001, 0, 116278708, 0, 0, 0, 182778596, 0, -34994960, 0, 62112778, 0, 148035889, 0, 0, 0, -156901745, 0, -118773396, 0, 136410197, 0, 0, 0, -143390625, 0, -197610842, 0, 0, 0, -267885618, 0, 105863485, 0, 0, 0, -30458337, 0, 0, 0, 419470597, 0, 0, 0, 0, 0, 15884400, 0, -142816597, 0, 194789672, 0, -107782675, 0, 0, 0, 135669975, 0, 0, 0, -13728792, 0, 48334468, 0, 0, 0, 104202098, 0, -70555966, 0, -84705698, 0, 0, 0, -204531250, 0, -388854312, 0, -35704032, 0, -41471339, 0, 419126400, 0, 0, 0, 0, 0, -200479279, 0, -10273172, 0, 0, 0, 0, 0, 424443602, 0, 11121460, 0, 77112595, 0, 220890656, 0, 0, 0, 0, 0, 0, 0, -158280694, 0, 9662576, 0, 0, 0, -136648589, 0, -259555296, 0, -57019508, 0, -264986008, 0, 244140625, 0, 0, 0, 0, 0, 0, 0, -21662641, 0, 0, 0, -12685673, 0, 77672012, 0, 0, 0, -186178188, 0, 0, 0, 284935742, 0, 204071791, 0, 0, 0, 0, 0, 0, 0, 53976377, 0, 370157788, 0, 284241881, 0, -280440160, 0, 0, 0, -158097238, 0, -309157835, 0, -142568426, 0, -251029597, 0, 0, 0, -395439044, 0, 154237174, 0, -31239934, 0, 181881700, 0, 0, 0, 0, 0, 325383695, 0, -47105058, 0, -258777519, 0, 0, 0, 0, 0, 651036386, 0, -27011453, 0, 0, 0, 0, 0, 545368978, 0, 0, 0, -589572984, 0, 55909021, 0, 0, 0, -83612452, 0, 0, 0, 176110011, 0, -593731658, 0, 265890625, 0, -396891418, 0, 358668233, 0, -291661020, 0, 406457765, 0, 0, 0, -814266453, 0, -137558526, 0, 0, 0, 0, 0, 0, 0, 266337148, 0, -93021929, 0, 561163174, 0, 746832632, 0, 0, 0, 18461275, 0, 128229024, 0, 0, 0, -322424102, 0, 0, 0, 455591682, 0, -351949521, 0, 0, 0, -367737524, 0, -164937500, 0, 0, 0, -852164714, 0, 0, 0, 415496340, 0, 0, 0, 346199854, 0, 0, 0, 0, 0, -888297982, 0, 0, 0, 484910153, 0, -20795488, 0, -144494441, 0, 515721206, 0, 0, 0, 0, 0, -73831835, 0, 337925966, 0, 218259041, 0, 0, 0, 527070621, 0, 0, 0, 212944028, 0, 174715450, 0, -470421875, 0, -818643462, 0, 0, 0, -7567714, 0, 471810717, 0, 0, 0, -414666329, 0, -550738188, 0, 0, 0, -116388832, 0, 0, 0, -130264134, 0, -990662400, 0, 0, 0, 545483939, 0, 0, 0, 987088102, 0, -84371210, 0, 426001653, 0, 848197222, 0, 0, 0, -492394994, 0, 637426713, 0, -404368146, 0, 0, 0, 0, 0, -594823321, 0, 0, 0, 0, 0, 541816198, 0, 0, 0, -544201084, 0, 0, 0, 938655146, 0, -1005282278, 0, 0, 0, 46577531]
[1, 0, -14, 0, 77, 0, -182, 0, 0, 0, 924, 0, -1547, 0, -506, 0, 3003, 0, 0, 0, -1729, 0, -8372, 0, 9177, 0, 13090, 0, -15625, 0, 0, 0, -17017, 0, 10556, 0, 30107, 0, 0, 0, 7084, 0, -89206, 0, 11571, 0, 69160, 0, 0, 0, 27132, 0, 0, 0, -19096, 0, -153502, 0, 0, 0, 93093, 0, 165242, 0, 0, 0, -38962, 0, 0, 0, -420838, 0, 257439, 0, 0, 0, -76153, 0, 218750, 0, 168245, 0, 397320, 0, -638066, 0, -399126, 0, 0, 0, 67158, 0, 92092, 0, 530348, 0, 0, 0, 0, 0, 424879, 0, -659736, 0, -96019, 0, -629706, 0, 0, 0, 0, 0, 56446, 0, 839762, 0, 1248884, 0, 0, 0, -651651, 0, -1262884, 0, -1272271, 0, 2172742, 0, -1203125, 0, -566370, 0, 0, 0, 1525510, 0, 893893, 0, 0, 0, 1771561, 0, -1979978, 0, -467544, 0, -1599598, 0, 0, 0, -2244242, 0, 245973, 0, 3796114, 0, 0, 0, 0, 0, 2678571, 0, 0, 0, -3114111, 0, 0, 0, 0, 0, 782782, 0, -2185183, 0, -3062864, 0, -1774409, 0, 2843750, 0, 1467389, 0, 7082714, 0, 0, 0, -701624, 0, 0, 0, -6868862, 0, 5891732, 0, -4244240, 0, -4570773, 0, 0, 0, 0, 0, 0, 0, 5966779, 0, 0, 0, 0, 0, -98282, 0, 4466539, 0, 5499494, 0, -6279273, 0, 0, 0, -2425787, 0, -1519518, 0, -13055614, 0, 0, 0, 0, 0, 8932924, 0, 4682055, 0, 0, 0, 9235303, 0, 0, 0, -2622893, 0, -9712066, 0, 7432439, 0, 1407406, 0, 0, 0, 0, 0, -20878627, 0, -5892432, 0, 10975965, 0, 0, 0, 4738657, 0, -7693336, 0, 16235492, 0, 4072822, 0, 0, 0, 9666916, 0, 0, 0, 874874, 0, -5307757, 0, -14437500, 0, -26439842, 0, 12796784, 0, 0, 0, 2048606, 0, 0, 0, 16777684, 0, -13346151, 0, 0, 0, 16316223, 0, 0, 0, 4236232, 0, 0, 0, 13753663, 0, -790244, 0, 0, 0, -18490458, 0, -5817735, 0, -32404526, 0, 0, 0, 0, 0, 0, 0, 26266966, 0, 1616615, 0, -4643562, 0, 24171875, 0, -8626058, 0, 14084161, 0, 23977954, 0, -24137569, 0, 0, 0, 0, 0, 0, 0, -30418388, 0, -28962934, 0, 0, 0, 49349482, 0, -6623540, 0, -26415480, 0, -19723627, 0, 0, 0, 0, 0, 29554602, 0, 38871506, 0, 16799706, 0, 0, 0, 0, 0, 35830067, 0, -31107636, 0, -49131082, 0, 7906250, 0, -36575721, 0, -24801854, 0, 28775747, 0, 0, 0, 0, 0, -38459344, 0, 52240606, 0, -21770098, 0, 42746067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56926298, 0, 0, 0, 29745716, 0, -82426344, 0, 0, 0, -10375015, 0, 0, 0, -29158919, 0, -24094070, 0, 5468645, 0, 0, 0, -46921875, 0, 8610602, 0, 0, 0, 48732266, 0, 76592516, 0, 0, 0, 58877105, 0, 17960110, 0, -29479527, 0, -51758812, 0, 0, 0, -12626614, 0, -64358917, 0, 36758722, 0, -5341336, 0, 0, 0, 67366495, 0, -123725446, 0, -3957863, 0, -27308358, 0, 0, 0, 0, 0, 0, 0, 72900282, 0, 68839342, 0, 0, 0, 17098081, 0, -15234142, 0, 0, 0, 138001682, 0, 0, 0, -144474122, 0, 0, 0, -8006922, 0, -99157996, 0, 0, 0, 4346342, 0, 57627570, 0, -155657374, 0, 0, 0, 0, 0, 79537458, 0, 93549351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116128012, 0, 0, 0, -53496716, 0, 27015625, 0, -103819884, 0, 29343886, 0, 63990822, 0, 0, 0, 0, 0, 0, 0, -93611518, 0, -23385439, 0, -250543524, 0, 0, 0, -10467898, 0, 108434235, 0, 87827740, 0, 70622811, 0, 0, 0, 45138236, 0, 167301134, 0, -63883897, 0, 0, 0, 0, 0, 0, 0, 1375948, 0, 0, 0, -132089881, 0, 130812500, 0, 0, 0, -126725676, 0, -131134549, 0, -5854926, 0, 0, 0, -37049936, 0, 61049261, 0, -7329686, 0, -50733515, 0, 0, 0, 150522267, 0, 0, 0, -125126001, 0, 116278708, 0, 0, 0, 182778596, 0, -34994960, 0, 62112778, 0, 148035889, 0, 0, 0, -156901745, 0, -118773396, 0, 136410197, 0, 0, 0, -143390625, 0, -197610842, 0, 0, 0, -267885618, 0, 105863485, 0, 0, 0, -30458337, 0, 0, 0, 419470597, 0, 0, 0, 0, 0, 15884400, 0, -142816597, 0, 194789672, 0, -107782675, 0, 0, 0, 135669975, 0, 0, 0, -13728792, 0, 48334468, 0, 0, 0, 104202098, 0, -70555966, 0, -84705698, 0, 0, 0, -204531250, 0, -388854312, 0, -35704032, 0, -41471339, 0, 419126400, 0, 0, 0, 0, 0, -200479279, 0, -10273172, 0, 0, 0, 0, 0, 424443602, 0, 11121460, 0, 77112595, 0, 220890656, 0, 0, 0, 0, 0, 0, 0, -158280694, 0, 9662576, 0, 0, 0, -136648589, 0, -259555296, 0, -57019508, 0, -264986008, 0, 244140625, 0, 0, 0, 0, 0, 0, 0, -21662641, 0, 0, 0, -12685673, 0, 77672012, 0, 0, 0, -186178188, 0, 0, 0, 284935742, 0, 204071791, 0, 0, 0, 0, 0, 0, 0, 53976377, 0, 370157788, 0, 284241881, 0, -280440160, 0, 0, 0, -158097238, 0, -309157835, 0, -142568426, 0, -251029597, 0, 0, 0, -395439044, 0, 154237174, 0, -31239934, 0, 181881700, 0, 0, 0, 0, 0, 325383695, 0, -47105058, 0, -258777519, 0, 0, 0, 0, 0, 651036386, 0, -27011453, 0, 0, 0, 0, 0, 545368978, 0, 0, 0, -589572984, 0, 55909021, 0, 0, 0, -83612452, 0, 0, 0, 176110011, 0, -593731658, 0, 265890625, 0, -396891418, 0, 358668233, 0, -291661020, 0, 406457765, 0, 0, 0, -814266453, 0, -137558526, 0, 0, 0, 0, 0, 0, 0, 266337148, 0, -93021929, 0, 561163174, 0, 746832632, 0, 0, 0, 18461275, 0, 128229024, 0, 0, 0, -322424102, 0, 0, 0, 455591682, 0, -351949521, 0, 0, 0, -367737524, 0, -164937500, 0, 0, 0, -852164714, 0, 0, 0, 415496340, 0, 0, 0, 346199854, 0, 0, 0, 0, 0, -888297982, 0, 0, 0, 484910153, 0, -20795488, 0, -144494441, 0, 515721206, 0, 0, 0, 0, 0, -73831835, 0, 337925966, 0, 218259041, 0, 0, 0, 527070621, 0, 0, 0, 212944028, 0, 174715450, 0, -470421875, 0, -818643462, 0, 0, 0, -7567714, 0, 471810717, 0, 0, 0, -414666329, 0, -550738188, 0, 0, 0, -116388832, 0, 0, 0, -130264134, 0, -990662400, 0, 0, 0, 545483939, 0, 0, 0, 987088102, 0, -84371210, 0, 426001653, 0, 848197222, 0, 0, 0, -492394994, 0, 637426713, 0, -404368146, 0, 0, 0, 0, 0, -594823321, 0, 0, 0, 0, 0, 541816198, 0, 0, 0, -544201084, 0, 0, 0, 938655146, 0, -1005282278, 0, 0, 0, 46577531]
true

2016年6月18日土曜日

160618(2)

整数列のLINKS の編集(52)

https://oeis.org/A175019
のLINKS を編集しました。

160618

整数列のLINKS の編集(51)

https://oeis.org/A010815
https://oeis.org/A232714
https://oeis.org/A244525
のLINKS を編集しました。

2016年6月15日水曜日

160615

k角数定理?(2)

150927分で以下の式を紹介した。

Π(1 - q^((k - 2)n))(1 - q^((k - 2)n - 1))(1 - q^((k - 2)n - k + 3))
= Σ(-1)^m q^(m((k - 2) * m + k - 4) / 2)

k = 5, 6, 7, 8, 9, 10 のときについて、それぞれ
オンライン整数列大辞典の
A010815、A106459、A113429、A089802、A232714、A244525
に載っている。

2016年6月14日火曜日

160614

新たな整数列(7)

https://oeis.org/A274179
が追加されました。

2016年6月12日日曜日

160612(9)

整数列のFORMULA の編集

https://oeis.org/A000110
のFORMULA を編集しました。

160612(8)

整数列のLINKS の編集(50)

https://oeis.org/A274047
のLINKS を編集しました。

160612(7)

整数列のLINKS の編集(49)

https://oeis.org/A274032
のLINKS を編集しました。

160612(6)

整数列のLINKS の編集(48)

https://oeis.org/A002171
https://oeis.org/A030218
https://oeis.org/A030220
https://oeis.org/A137569
https://oeis.org/A214263
https://oeis.org/A259743
のLINKS を編集しました。

160612(5)

整数列のLINKS の編集(47)

https://oeis.org/A133089
https://oeis.org/A133079
のLINKS を編集しました。

160612(4)

整数列のLINKS の編集(46)

https://oeis.org/A123655
https://oeis.org/A107035
のLINKS を編集しました。

160612(3)

整数列のLINKS の編集(45)

https://oeis.org/A113429
https://oeis.org/A133100
のLINKS を編集しました。

160612(2)

整数列のLINKS の編集(44)

https://oeis.org/A247223
https://oeis.org/A186741
のLINKS を編集しました。

160612

Ruby


Pandigital triangular numbers

GAI 氏により、
0から9までをただ一度ずつ含む三角数および
1から9までをただ一度ずつ含む三角数
に関する問題が出された。
(http://www004.upp.so-net.ne.jp/s_honma/mathbun/mathbun732.html)

このような三角数を出力してみた。
(ちなみに前者に関しては、
オンライン整数列大辞典の
A115939、A115940
に載っている。)

# nは82まで
def A115940(n)
  ary = []
  (0..10 ** 7).each{|i|
    a = (i * (i + 1) / 2).to_s.split('').map(&:to_i)
    break if a.size > 10
    ary << a.join.to_i if a.uniq.size == 10
  }
  ary[0..n - 1]
end
p A115940(82)

# 1~9までのとき
def A115940_1()
  ary = []
  (0..10 ** 7).each{|i|
    a = (i * (i + 1) / 2).to_s.split('').map(&:to_i)
    break if a.size > 9
    ary << a.join.to_i if a.uniq.size == 9 && !(a.include?(0))
  }
  ary
end
p A115940_1()

出力結果
[1062489753, 1239845706, 1256984730, 1520843976, 1539264870, 1597283460, 1684930275, 1952843760, 1957346028, 1978236450, 2197480365, 2367098415, 2418079653, 2503948761, 2634980715, 2718609453, 2735891406, 2750483196, 2764518903, 2854316790, 2915768430, 3026847915, 3095782641, 3108542976, 3574816290, 3694517820, 3704581926, 3807459216, 3842970615, 3907854621, 4039521786, 4075916328, 4076819253, 4138725690, 4183975026, 4216879530, 4361079528, 4382960751, 4523098716, 4703869521, 4751906328, 4798521630, 4869315270, 4876521903, 4927316085, 4932678150, 4961325078, 5038724691, 5074928631, 5123098476, 5172309486, 5419706328, 5428976301, 5489267031, 5740936281, 5789364210, 5813492706, 5984672310, 6093472815, 6351490278, 6502389741, 6853921740, 6894021753, 6970321485, 7284063951, 7419386205, 7468925310, 7482130956, 7820439516, 7841965230, 7958362041, 8235641970, 8539742016, 8630549271, 8926417305, 8956372041, 8961324750, 9037258461, 9201478653, 9576380421, 9634871520, 9654871320]
[153694278, 162495378, 197438256, 246897531, 247698153, 251496378, 274189653, 294358716, 324576981, 378964215, 394762851, 472581396, 594728316, 674821953, 826719453, 836957241, 879125346, 927318645, 984725631, 987523461]

2016年6月11日土曜日

160611(5)

整数列のLINKS の編集(43)

https://oeis.org/A106459
https://oeis.org/A089802
https://oeis.org/A247133
https://oeis.org/A089801
のLINKS を編集しました。

160611(4)

整数列のLINKS の編集(42)

https://oeis.org/A030207
https://oeis.org/A030212
のLINKS を編集しました。

160611(3)

整数列のLINKS の編集(41)

https://oeis.org/A030187
https://oeis.org/A030184
のLINKS を編集しました。

160611(2)

整数列のLINKS の編集(40)

https://oeis.org/A002655
https://oeis.org/A002656
のLINKS を編集しました。

160611

整数列のLINKS の編集(39)

https://oeis.org/A002107
https://oeis.org/A010818
https://oeis.org/A010819
https://oeis.org/A010820
https://oeis.org/A010821
https://oeis.org/A010822
https://oeis.org/A010827
https://oeis.org/A010831
https://oeis.org/A010833
https://oeis.org/A010839
https://oeis.org/A121373
https://oeis.org/A208845
のLINKS を編集しました。

2016年6月10日金曜日

160610

整数列のLINKS の編集(38)

https://oeis.org/A030188
https://oeis.org/A030209
https://oeis.org/A159819
https://oeis.org/A270640
のLINKS を編集しました。

2016年6月9日木曜日

160609

整数列のLINKS の編集(37)

https://oeis.org/A030203
https://oeis.org/A030206
https://oeis.org/A030208
https://oeis.org/A007332
https://oeis.org/A208978
https://oeis.org/A209939
のLINKS を編集しました。

2016年6月8日水曜日

160608(3)

整数列のLINKS の編集(36)

https://oeis.org/A030199
のLINKS を編集しました。

160608(2)

整数列のLINKS の編集(35)

https://oeis.org/A010816
https://oeis.org/A000728
https://oeis.org/A000729
https://oeis.org/A000730
https://oeis.org/A000731
https://oeis.org/A010817
のLINKS を編集しました。

160608

整数列のLINKS の編集(34)

https://oeis.org/A030210
https://oeis.org/A159818
のLINKS を編集しました。

2016年6月7日火曜日

160607

整数列のLINKS の編集(33)

https://oeis.org/A030204
https://oeis.org/A030211
https://oeis.org/A002288
https://oeis.org/A138514
https://oeis.org/A138515
https://oeis.org/A134461
https://oeis.org/A216711
のLINKS を編集しました。

2016年6月6日月曜日

160606

Dedekind Eta Function

http://www2.tsuda.ac.jp/suukeiken/math/suugakushi/sympo16/16_8nanba.pdf
の102 ページにあるように以下について計算すると面白いかもしれない。

η(τ)^2, η(τ)^4, η(τ)^6, η(τ)^8, η(τ)^12, η(τ)^24,
η(τ)η(2τ), (η(τ)η(2τ))^2, (η(τ)η(2τ))^4, (η(τ)η(2τ))^8,
η(τ)η(3τ), (η(τ)η(3τ))^2, (η(τ)η(3τ))^3, (η(τ)η(3τ))^6,
η(τ)η(5τ), (η(τ)η(5τ))^2, (η(τ)η(5τ))^4,
η(τ)η(7τ), (η(τ)η(7τ))^3,
η(τ)η(11τ), (η(τ)η(11τ))^2,
η(τ)η(23τ)

2016年6月5日日曜日

160605

整数列のLINKS の編集(32)

https://oeis.org/A063938
のLINKS を編集しました。

2016年6月4日土曜日

160604(2)

新たな整数列(6)

https://oeis.org/A273650
https://oeis.org/A273651
が追加されました。

160604

整数列のLINKS の編集(31)

https://oeis.org/A030202
のLINKS を編集しました。

2016年6月2日木曜日

160602

整数列のDATA の編集(2)

https://oeis.org/A051908
のDATA を編集しました。

2016年6月1日水曜日

160601(2)

整数列のLINKS の編集(30)

https://oeis.org/A272690
のLINKS を編集しました。

160601

整数列のLINKS の編集(29)

https://oeis.org/A273692
のLINKS を編集しました。