2015年7月27日月曜日

150727(2)

Ruby


Reverse and Add(2)

この作業により、数字は大きくなっていくが、
その最終の値を並べるコードを書いてみた。
オンライン整数列大辞典の
A033865(http://oeis.org/A033865/list)
と比較し、答え合わせしてみる。

def reverse_and_add2(n)
  m = n.to_s.reverse.to_i
  while !(n == m)
    n += m
    m = n.to_s.reverse.to_i
  end
  n
end

def A033865(n)
  (0..n).map{|i| reverse_and_add2(i)}
end
ary = A033865(80) # n < 196なら大丈夫

# OEIS A033865のデータ
ary0 =
[0,1,2,3,4,5,6,7,8,9,11,11,33,44,55,66,77,88,99,
 121,22,33,22,55,66,77,88,99,121,121,33,44,55,33,
 77,88,99,121,121,363,44,55,66,77,44,99,121,121,
 363,484,55,66,77,88,99,55,121,363,484,1111,66,77,
 88,99,121,121,66,484,1111,4884,77,88,99,121,121,
 363,484,77,4884,44044,88]
# 一致の確認
p ary == ary0

0 件のコメント:

コメントを投稿

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