合成数列の和アドベントカレンダー Advent Calendar 2018 の 1 日目です
ルール
- 入力として正の整数 N を与えたら 4 から始まる 合成数 の数列の 1 番目から N 番目からの合計を出力してください
- N は最大で 100 とします
プログラム(Ruby)
require "prime"
without_prime = Enumerator.new do |y|
a = 1
loop do
a += 1
loop { a.prime? ? a += 1 : break }
y << a
end
end
puts without_prime.take(ARGV.first.to_i).sum
出力例
$ ruby test.rb 2
10
$ ruby test.rb 4
27
$ ruby test.rb 10
112
$ ruby test.rb 100
7059
メモ
この問題は ずんだ問題 の番外編です