No Such Blog or Diary

«Prev || 1 | 2 | 3 | 4 | 5 | 6 | 7 || Next»

FizzBuzz@sed revise

抜かされていたのでもう少しコードを書き換えて小さくしてみた.10と5の最大公約数が5であることを使って5の倍数カウンタを排除して,整形部分をもう少し頭のよい書き方に変えてみた.現在144bytes.今のコードは1000までとかでも普通に動くコードなので,高々100までという問題の条件を使うともう少し縮むのかなぁ?

FizzBuzz

新しい問題が増えてたので sed で挑戦.とりあえず 1 から 100 までループでインクリメントするカウンタを書いて,それに3周期と5周期のカウンタをくっつけてみた.これに出力の整形部分を書いて 169バイト.ここから縮めるには大き目の書き換えが必要なのでとりあえずこれで出しておく.

ゴルフ続き@sed

Smileys Triangle(40), tennis(229), permutater(118) は一位.delete blank lines(5), even lines(4), invert case(24), delete last line(2), rotate lines(8)は一位タイ.e(102), ultimate problem(3), Fibonacci Numbers(292), exit status(16) は埋め込みで一位タイ.Hamming Numbers(382), show the way(85) は埋め込みで….そして 99 shinichiroes of hamaji は抜かれてるなぁ.もうすこしがんばろう.そういや最近(cheat)を明示するような動きになっているようなので次からはちゃんと書こう.

99 shinichiroes of hamaji まで

とりあえず頭からつぶしていって hello world と echo は1位に並んだ.これらは答えがひとつしかなさそうなのでこれ以上は縮まないでしょう.次の 99 shinichiroes of hamaji は haskell で一位と13バイト差.もう少し頭使えば縮みそうだけど抜本的改革が必要なので断念.sed のコードのほうは暫定で最小コード達成.二位とは1バイト差なので微妙.とりあえず sed で一位になったので少々満足.

桁数に線形なループ回数の足し算 in sed

インクリメントだと桁数に指数的になってしまうので筆算のように計算するスクリプトを書いてみた.メイン部分はキャリーと足される二つの数の全パターンについて次のキャリーと一桁の答えを生成する正規表現マッチ連発部分.普通にやると全部で200通りになってしまうので少々まとめて40通りに抑えたが… 手で書くのは面倒なのでプログラムに機械生成させて手を抜く.もっとスマートなプログラムが出来ないかなぁ?

sum.sedgen.java

sed に四則演算させたい

インクリメントとデクリメントが出来るので頑張れば出来るだろうけど高速に実装できないかなぁと.ちょっと調べてもあまり見つからない….さすがに bc の機能を置き換えるのはむりかな.

«Prev || 1 | 2 | 3 | 4 | 5 | 6 | 7 || Next»
Search
Feeds

Page Top