Ruby
素数を順番につなぎ合わせた数について(1)
素数を順番につなぎ合わせた数が素数になるか調べる。
require 'prime'
p_ary = Prime.each(100).to_a
(0..p_ary.size - 1).each{|i|
j = p_ary[0..i].join.to_i
if i == 0
p [j, 'prime']
else
k = Math.sqrt(j).to_i
l = 3
while j % l > 0 && l <= k
l += 2
end
if l <= k
p [j, l]
else
p [j, 'prime']
end
end
}
出力結果
[2, "prime"]
[23, "prime"]
[235, 5]
[2357, "prime"]
[235711, 7]
[23571113, 23]
[2357111317, 11]
[235711131719, 7]
[23571113171923, 61]
[2357111317192329, 3]
[235711131719232931, 17]
[23571113171923293137, 7]
[2357111317192329313741, 25391]
[235711131719232931374143, 6899]
[23571113171923293137414347, 1597]
[2357111317192329313741434753, 3]
[235711131719232931374143475359, 17]
[23571113171923293137414347535961, 3]
[2357111317192329313741434753596167, 1019]
[235711131719232931374143475359616771, 3]
[23571113171923293137414347535961677173, 17]
[2357111317192329313741434753596167717379, 211]
[235711131719232931374143475359616771737983, 41378209]
[23571113171923293137414347535961677173798389, 3]
[2357111317192329313741434753596167717379838997, 479]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。