なんかどこもかしこも、anarchy golf のネタでいっぱいなので、わしも OCaml あたりでやってみようかな…などと思ったのだが。
いきなり hello world で 27 Byte の出し方わかんねー
どうしてこんな数字になるんだー!! と叫びながら悶々と考えて結局…
print_string"Hello, world!"
こういうのに辿り着いたんだけど…… 28B なんだよね。 どう考えてもこれ以上縮まる気がしなくて延々考えて、最終的に「もしや?」と思ってバイナリエディタでファイルの最後に付く改行を削ってやったら 27B で通っちゃったよ。 えぇ〜!? そうなの? みんなこうやってんの? それとも改行が付いてても 27B なコードがあるの?
もしかしてゴルファーの人は、ファイル末尾の改行を削るツールを用意するところから始めるんだろうか。 いやまあ、そんなのすぐできるけど、なんかこう精神的にショックを受けるというか…… だいたい出力に改行が含まれてなくても通る時点で、「なんてお行儀が悪い…」とか思っちゃう人間なんだよなーわし。
そうそう、:set binary して :set noendofline だ。 バイナリモードにしないと noendofline は意味無いので注意。 とりあえず↓こんなエイリアスでも作っとこう。
alias vimb='vim -b "+set noeol"'
noeol は noendofline の短縮形。
Num モジュール使わないと 100 桁なんて出せないんじゃないかと思うんだが、ましてや 115B って m.ukai さんはどんだけスーパーハッカーなんだよ!!……と思ったわけ。
……ん、あれ? 100 + 15 ってなんかピンと来るものが……
print_string"27182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274"
これかー!!
なるほど、なんかこのゲームの楽しみ方がわかってきた気がする。 あんまりマジメに考えちゃダメなんだよね、きっと。
現状 320B。全然お話にならない...orz
いったい何をどうやったら 250B レベルになるんだ? 今の戦法だと、あともう数バイトくらいは縮まりそうだけど、とても 60B 以上縮まるとは思えないので、たぶん根本的に考え方間違ってるんだろうなあ。
ファイルの末尾の改行は削ってますよ。<br>e はまじめにNumモジュール使うと148B(改行削除後)だったので結局それです。そんな調子でいくつか決め打ち動作があります。
やはりそうでしたか(苦笑
はじめまして.<br>99 shinichiroes of hamajiに関してですが,<br>私のコードにはif-then-elseが使われておりません.<br>これがヒントになるかどうか分かりませんが….
99shinh はまだif-then-elseを使ってますが、jijixiさんの改行技を利用させていただきました。てことはまだ縮むのかな。<br><br>フィボナッチ58Bは全く想像付いてません。<br>if-then-elseの代替があれば他も縮みそうなんですが...
http://d.hatena.ne.jp/KeisukeNakano/20070226/1172482223<br>λx.x K S K @ はてな<br>[OCaml][golf] 謎のバイナリ<br> m.ukaiさんに追い抜かれまくりですが,とりあえず無関係なネイピア数を100(+1)桁出力する問題の記録を更新. ある(インチキな?)方法を使うと,jijixiさんの直接出力するプログラムよりは短くなります. 今のところ79Bですが,まだまだ縮むかもしれません.Smalltalkに追