[過去ログ] Go language part 1 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
493(2): デフォルトの名無しさん [sage] 2016/01/27(水) 00:44:58.41 ID:YbPGx/2n(1) AAS
>>492492(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*