プロが教える店舗&オフィスのセキュリティ対策術

3912657840 は次の性質を持つ。

性質:
0を除く全ての一桁の数で割り切れ、
この数に含まれる任意の隣り合う二桁(39,91,12,26,65,57,78,84,40)でも割ることができる数である。
また、数字の0から9までを一度ずつ使っている数である。

質問:
そのような性質を持つものは3912657840だけですか?

A 回答 (2件)

虱潰しで調べた結果、そうみたいだね。


require 'set'

def digit_set(n)
 Set.new(n.to_s.each_char) { |c| c.to_i }
end
def digit_ar(n)
 n.to_s.each_char.map(&:to_i)
end

base_num = 5*7*8*9
start = (1000000000 / base_num + 1) * base_num

start.step(9999999999, base_num) do |n|
 if digit_set(n) == Set[*(0..9).to_a]
  if digit_ar(n).each_cons(2).all? { |high, low| n % (high* 10 + low) == 0 }
   puts n
  end
 end
end
    • good
    • 0
この回答へのお礼

まことにありがとうございました

お礼日時:2011/07/11 01:49

「3912657840はすごい数字」ではなく


「3912657840はすごい数」だと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング