A006880とA046731(2)
10^n までの素数の数と和を出力してみた。
出力結果
0
4
25
168
1229
9592
78498
664579
5761455
[0, 4, 25, 168, 1229, 9592, 78498, 664579, 5761455]
0
17
1060
76127
5736396
454396537
37550402023
3203324994356
279209790387276
[0, 17, 1060, 76127, 5736396, 454396537, 37550402023, 3203324994356, 279209790387276]
require "big"
def a006880(n)
max = 10 ** n - 1
ary = Array.new(max + 1, true)
i = 2
while i * i <= max
if ary[i]
(2 * i).step(to: max, by: i){|j| ary[j] = false}
end
i += 1
end
s = 0.to_big_i
(2..max).each{|i| s += 1 if ary[i]}
p s
end
def a046731(n)
max = 10 ** n - 1
ary = Array.new(max + 1, true)
i = 2
while i * i <= max
if ary[i]
(2 * i).step(to: max, by: i){|j| ary[j] = false}
end
i += 1
end
s = 0.to_big_i
(2..max).each{|i| s += i if ary[i]}
p s
end
n = 8
p (0..n).map{|i| a006880(i)}
p (0..n).map{|i| a046731(i)}
出力結果
0
4
25
168
1229
9592
78498
664579
5761455
[0, 4, 25, 168, 1229, 9592, 78498, 664579, 5761455]
0
17
1060
76127
5736396
454396537
37550402023
3203324994356
279209790387276
[0, 17, 1060, 76127, 5736396, 454396537, 37550402023, 3203324994356, 279209790387276]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。