2015年11月7日土曜日

151107(3)

Ruby


Polite number(1)

2の冪を除けばよく、
f(n) = n + log(n + log(n, 2), 2).to_i
(https://en.wikipedia.org/wiki/Polite_number)
と表される。
オンライン整数列大辞典の
A138591(http://oeis.org/A138591/list)
と比較し、答え合わせしてみる。

include Math

def f(n)
  n + log(n + log(n, 2), 2).to_i
end

def A138591(n)
  (1..n).map{|i| f(i)}
end
ary = A138591(71)

# OEIS A138591のデータ
ary0 =
[1,3,5,6,7,9,10,11,12,13,14,15,17,18,19,20,21,22,
 23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,
 40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,
 56,57,58,59,60,61,62,63,65,66,67,68,69,70,71,72,
 73,74,75,76,77]
# 一致の確認
p ary == ary0

0 件のコメント:

コメントを投稿

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