[過去ログ] プログラミングのお題スレ 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