[過去ログ] Go language part 1 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
493
(2): デフォルトの名無しさん [sage] 2016/01/27(水) 00:44:58.41 ID:YbPGx/2n(1) AAS
>>492
492(1): デフォルトの名無しさん [sage] 2016/01/25(月) 09:30:52.61 ID:11Jcfjfr(4/4) AAS
ここは、

for i := 3; float64(i) < math.Sqrt(float64(n)); i += 2 {
flg = true
for _, j := range primes {
if int64(i) % j == 0 { flg = false }
}
if flg == true { primes = append(primes, int64(i)) }
}

こうすべきなんじゃ?

for i := 3; float64(i) < math.Sqrt(float64(n)); i += 2 {
flg = true
for _, j := range primes {
if n%j == 0 { return false } // 追加
if int64(i)%j == 0 { flg = false }
:

そりゃ n までの素数を全部計算してからチェックしたら遅いわな
よく考えたらprimeかどうかだけならそのifないと圧倒的に効率悪かったな
助かったサンクス
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.906s*