[過去ログ]
Go language part 1 (1002レス)
Go language part 1 http://mevius.5ch.net/test/read.cgi/tech/1381374291/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
487: デフォルトの名無しさん [sage] 2016/01/25(月) 00:54:54.11 ID:11Jcfjfr Go のバージョンと実際に書かれたコードが分からんので何とも言えない http://mevius.5ch.net/test/read.cgi/tech/1381374291/487
489: デフォルトの名無しさん [sage] 2016/01/25(月) 01:48:00.41 ID:11Jcfjfr $ ruby --version ruby 2.2.3p173 (2015-08-18) [i386-linux-gnu] $ time { ruby -e 'require "prime";print Prime.take(10000)' > /dev/null; } real 0m0.405s user 0m0.400s sys 0m0.008s ↓このコードをローカルにコピーして、 http://play.golang.org/p/XXiTIpRBAu const N = 104740 に変更してビルド・実行。 $ go version go version devel +4f40182 Sat Jan 23 01:28:06 2016 +0000 linux/386 $ go build prime.go $ time { ./prime > /dev/null; } real 0m0.064s user 0m0.048s sys 0m0.016s http://mevius.5ch.net/test/read.cgi/tech/1381374291/489
491: デフォルトの名無しさん [sage] 2016/01/25(月) 08:54:26.29 ID:11Jcfjfr そんなに遅いかな? x86_64 環境で Prime.take(10000000) をやってみたんだけど(10^7)、 $ ruby --version ruby 2.2.3p173 (2015-08-18) [x86_64-linux-gnu] $ go version go version devel +970ce1c Sun Jan 24 16:07:30 2016 +0000 linux/amd64 ruby: 0m25.204s golang: 0m5.902s となった。prime? メソッドについては後で ruby のソースコードを見てみる http://mevius.5ch.net/test/read.cgi/tech/1381374291/491
492: デフォルトの名無しさん [sage] 2016/01/25(月) 09:30:52.61 ID:11Jcfjfr ここは、 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 までの素数を全部計算してからチェックしたら遅いわな http://mevius.5ch.net/test/read.cgi/tech/1381374291/492
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.220s*