2016年6月12日日曜日

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]

0 件のコメント:

コメントを投稿

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