[過去ログ] 高校数学の質問スレ Part434 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
345: 2024/04/20(土)14:32 ID:K224KWOY(1/2) AAS
>>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]
360
(2): 2024/04/20(土)21:45 ID:K224KWOY(2/2) AAS
>>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
省2
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s