[過去ログ]
プログラミングのお題スレ Part21 (1002レス)
プログラミングのお題スレ Part21 http://mevius.5ch.net/test/read.cgi/tech/1668333636/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
746: デフォルトの名無しさん [] 2023/06/09(金) 22:55:53.04 ID:oFhRSqmA >>739 >>742 正解。 出題者によるプログラム www.ideone.com/0R9KaI http://mevius.5ch.net/test/read.cgi/tech/1668333636/746
754: デフォルトの名無しさん [sage] 2023/06/10(土) 15:57:09.17 ID:Hla24knV >>738 c ・>>742から若干の省メモリ化 判別用配列の要素をintからcharへ 素数の個数を数えてから一覧用領域を確保 ・組み合わせループの条件を>>746さんを参考に改善 https://ideone.com/CixK7I >>738 c ・上記からさらに省メモリ化 判別用配列はint配列だが判別はビットごと https://ideone.com/JDcFjV http://mevius.5ch.net/test/read.cgi/tech/1668333636/754
763: デフォルトの名無しさん [] 2023/06/11(日) 20:59:06.26 ID:MUXJWS2B >>761 インタプリタでもRだともっと速い。以下のプログラムを https: //tio.run で実行すると 9.96秒で完了し、解は>>746の151060650通りと合う。>>761は制限時間 (1分) 以内に 完了しない。Rは自前のループをなるべく書かずにベクトル演算にすれば割と速い。 n <- 1234567L isprime <- c(FALSE, rep(TRUE, n - 1)) for (i in 2:sqrt(n)) if (isprime[i]) isprime[seq(i + i, n, i)] <- FALSE p <- which(isprime) q <- cumsum(isprime) k <- 0L for (i in p[1:q[n %/% 3L]]) { m <- n - i k <- k + sum(isprime[m - p[q[i]:q[m %/% 2L]]]) } cat(k, "通り\n", sep = "") http://mevius.5ch.net/test/read.cgi/tech/1668333636/763
786: デフォルトの名無しさん [] 2023/06/15(木) 22:26:38.53 ID:K1O29FUe >>785 遅い言語でも工夫次第で制限時間を突破できないかというのがスレの流れなので、 そういう当たり前な突っ込みは野暮というもの。速い言語での正攻法の回答例は >>746にちゃんと書いた。 http://mevius.5ch.net/test/read.cgi/tech/1668333636/786
792: デフォルトの名無しさん [] 2023/06/16(金) 09:00:10.71 ID:ly+Q1cW8 >>738 >>746 にもあるが >>785 が正論 http://mevius.5ch.net/test/read.cgi/tech/1668333636/792
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s