[過去ログ]
高校数学の質問スレ Part434 (1002レス)
高校数学の質問スレ Part434 http://rio2016.5ch.net/test/read.cgi/math/1712376048/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
345: 132人目の素数さん [sage] 2024/04/20(土) 14:32:45.55 ID:K224KWOY >>334 エラトステネスのふるいをそのまま実装すれば次 n=2500;a=Table[i,{i,1,n}];k=1;a[[k]]=0; While[k*k<=n,k++;While[a[[k]]==0,k++];For[i=2*k,i<=n,i+=k,a[[i]]=0];]; DeleteCases[a,0] http://rio2016.5ch.net/test/read.cgi/math/1712376048/345
360: 132人目の素数さん [sage] 2024/04/20(土) 21:45:57.23 ID:K224KWOY >>349 2からnまでのリストを作り、そこから、合成数を取り除くという発想は面白い。だけど雑すぎる。 行列は、「○行△列目で値は□」等という情報を持つが、位置情報は必要無いし、値も一度計算してしまえば、忘れて言い。 つまり、行列を保存しておく必要は全くない。これを取り入れれば次になる。 n=2500;a=Range[2,n];Do[a=DeleteCases[a,i*j],{i,2,n},{j,2,n}];a 合成数の発生範囲を調節すると、次になる。 n=2500;a=Range[2,n];Do[a=DeleteCases[a,i*j],{i,2,Sqrt[n]},{j,i,n/i}];a この方法では、iは、4,6,8,9,10,12,...など、無駄な値も走る。 この無駄をなくしたのがエラトステネスのふるいに相当。 http://rio2016.5ch.net/test/read.cgi/math/1712376048/360
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.040s