A320843(2)
Crystal で計算してみた。
class Count
@@cnt = 0
def initialize
@@cnt += 1
end
def self.instances
@@cnt
end
def self.to_zero
@@cnt = 0
end
end
def search(a, num, n)
if num == n + 1
Count.new
else
(1..n).each{|i|
if a[i] == 0
if num % i == 0 || i % num == 0
a[i] = num
search(a, num + 1, n)
a[i] = 0
end
end
}
end
end
def a320843(n)
a = [0] * (n + 1)
Count.to_zero
search(a, 1, n)
Count.instances
end
p (0..20).map{|i| a320843(i)}
出力結果
[1, 1, 2, 3, 8, 10, 36, 41, 132, 250, 700, 750, 4010, 4237, 10680, 24679, 87328, 90478, 435812, 449586, 1939684]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。