あなごおる

標準入力を読むには (%stdin)(r)file とするしかないのだろうか。
追記:標準入力が数字だけで一気に読み込みたい場合は (%stdin)run が使えるかな。

anarchy golf - Fibonacci Numbers

PostScript で書いた

1 0 46{2 copy add dup =}repeat

というプログラムを NMTnet|404 Not Found エラー のプログラムでバイナリ化したら 17 byte まで縮んで 1 位を取れちゃいました。anarchy golf - Fibonacci Numbers ySas さんありがとう。

anarchy golf - ultimate problem

改行コードを含めると 42 byte

(%stdin) (r) file read {2 idiv =} if quit

answer を 42 と、? を含んでいる名詞 life?、universe?、everything? を = と定義して、読み込んだワードを順に評価していく、というような事をしてみたのがコレ。

<</The{}/answer 42/anser 42/to{}/life?{=}/universe?{=}/everything?{=}>>begin{(%stdin)(r)file
token not{exit}if exec}loop

最初の Sample Input の answer が anser になってるせいでちょっと長くなる。

追記:run を使うとこうなる。
<</The{}/answer 42/anser 42/to{}/life?{=}/universe?{=}/everything?{=}>>begin(%stdin)run

シェルソート(嘘)

ls コマンドの -v オプション(バージョン名とバージョン番号でソートする)を利用したソート。なのでリストソートと呼んだ方がいいかもしれない(よくない)。本当のシェルソートシェルソート - Wikipedia でも読んでください。

#!/bin/sh
DIR=/tmp/shsort$$
mkdir $DIR
for i in 87 12 4 945 129
do
    touch $DIR/$i
done
result=`cd $DIR; ls -v`
rm -r $DIR

echo $result