[過去ログ] プログラミングのお題スレ Part15 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
629(14): 2019/10/01(火)07:35 ID:NlppalS8(1/3) AAS
お題
言語限定(コマンドプロンプト・パワーシェル・bash/csh等のUNIXシェル)
10000までの素数を列挙して出力
当然だが、スクリプト言語処理系やコンパイラに丸投げさせるのは禁止
というか、技量の程度が疑わてしまうのでお勧めしない
632: 2019/10/01(火)08:56 ID:H2UNgdyX(1) AAS
>>629
シェルスクリプトスレ池
633: 2019/10/01(火)09:02 ID:zsyRP5Ba(1) AAS
>>629
C で書いておけば許されるかんじがする
https://pastebin.com/pHNKfcun
実行
https://i.imgur.com/f62qe9L.jpg
最大の素数の幅を見てからきちんと整列される
~/bin/is_prime.exe 50900 60000
50909 50923 50929 50951 50957 50969 50971 50989 50993 51001
51031 51043 51047 51059 51061 51071 51109 51131 51133 51137
634: 2019/10/01(火)09:20 ID:j8m55EYr(1) AAS
>>629 Linux
$ primes 2 10001
2
3
...
9967
9973
637(3): 2019/10/01(火)12:56 ID:ygg8X6aa(1/6) AAS
>>629 コマンドプロンプト(Windows)
https://ideone.com/aeDkD1
おそい…コマンドプロンプトよーわからんですよ
638: 629 2019/10/01(火)13:54 ID:NlppalS8(3/3) AAS
>>637
スゴイw
やれば出来るものですね。
10000を超えても出力し続けてますw
640: 2019/10/01(火)14:07 ID:ygg8X6aa(3/6) AAS
>>629 コマンドプロンプト (>>637の修正版)
https://ideone.com/5keIkO
637は書いてたはずのecho 2も消えてた(´・ω・`)
642(1): 2019/10/01(火)15:44 ID:ygg8X6aa(5/6) AAS
>>629 コマンドプロンプト 修正版2
https://ideone.com/dXSpSd
もうバグないといいな
645: 2019/10/01(火)17:17 ID:PlApYvsP(2/2) AAS
>>629
bash
https://paiza.io/projects/G-t20MSEfsjAnAp0G5v2NA
でもやっぱ遅くてpaiza.ioではtimeoutして最後まで出てこないw
646(1): 2019/10/01(火)21:04 ID:rsBZCnlu(1) AAS
>>629
遅くても構わなければ、PowerShellではとても簡潔に書ける。
$p = 2..10000
while ($p) {
$p[0]
$p = @($p |? {$_ % $p[0]})
}
670: 2019/10/03(木)08:18 ID:z1c5xmGq(1) AAS
>>629
> というか、技量の程度が疑わてしまうのでお勧めしない
人の心配する前に自分の出題技量の程度を心配しなよ…
674: 2019/10/04(金)14:06 ID:IeSaX57c(1) AAS
>>629
の出題意図を読み取れば、
記憶域を余り自由に使えない環境で
如何に工夫して目的が達成できるか
ということではないかと
その意味では、Power-shellは少し
強力杉だから除外すべきだったかも
知れないが(遅いから使われる
ことは少ないだろけどスクリプト言
語処理系であるとも言えなくもないし)
684: 637 2019/10/05(土)08:57 ID:4K3q4mZL(1/2) AAS
>>629 コマンドプロンプト 高速化版
https://ideone.com/bJ1lnD
>>642の6倍くらい速くなった…うちの環境だと>>646よりはやくなったどーw
685(1): 2019/10/05(土)15:19 ID:6iFRuM3K(1/6) AAS
>>629 bash 4.3.42(3)
n=10000
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [ ${a[$i]} ]; then
echo $i
for ((j=2*$i; j<=$n; j+=$i)); do
unset a[$j]
done
fi
省12
688: 2019/10/05(土)16:09 ID:6iFRuM3K(4/6) AAS
>>629 >>687の実行結果
https://ideone.com/3RCc5k
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s