forループを使った素数判定のアルゴリズムがわからないです。neはnの平方根を超えない最大の整数です。 forループの中は、n を 2 から始まって ne までの数で割った,その余りが 0 であるかどうか を調べます。
n = ARGV[0].to_i
ne = sqrt(n).to_i
pflag = true
for i in 2 .. n
r = n % ne
if r == 0 then
pflag = false
end
end
if pflag then
puts"#{n}は素数です。"
else
puts"#{n}は合成数です。"
end
回答お願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。