【AtCoder-Ruby】ABC106 B - 105
問題
問題文
1 以上 N 以下の奇数のうち、正の約数をちょうど 8個持つようなものの個数を求めよ。
制約
N は 1 以上 200 以下の整数
考えたこと
- 制約もゆるいので、入力以下の奇数のデータで約数が8個のものを探す
- 約数を取得する処理は関数化
回答
def factor(n) (1..n).select { |i| (n % i) == 0 } end n = gets.strip.to_i puts 1.step(n, 2).select { |i| factor(i).size == 8 }.size
考察
約数の取得処理はよくできたと思うので、少し修正してライブラリ化してもいいかも。