parsleyの日記: FizzBuzz流行 2
日記 by
parsley
FizzBuzz問題が流行している。え?もう終わってる?すみません。
答案じゃなくて問題の方をいまさらながらに考えてみる。
「問題の3と5を4と6に置き換えてね」
2文字書き換えれば済むってのが、あたりまえ(?)でしょうか。
うわ、3と5が互いに素だって仮定してたよとか。いや、3と5は互いに素ですよ。きっとそうですよ。
きっと一文字も書き換えないで動くプログラムがありますよ。
答案じゃなくて問題の方をいまさらながらに考えてみる。
「問題の3と5を4と6に置き換えてね」
2文字書き換えれば済むってのが、あたりまえ(?)でしょうか。
うわ、3と5が互いに素だって仮定してたよとか。いや、3と5は互いに素ですよ。きっとそうですよ。
きっと一文字も書き換えないで動くプログラムがありますよ。
短く書けるかよりもメンテナンスのし易さ (スコア:1, 興味深い)
その「短いプログラム」を条件式を変えたときにどれだけ書き換えなければならないのか
(=メンテナンスのしやすさ、ということかな?)を知りたいなぁ。
#1-linerって解読しやすさは低いし。
たとえば、ちょっとだけ面倒な例として「1-365or366の間の数をある年の1月1日からの延べ日数として、
それが(決算・給料振込み等の)5・10日か判断するプログラム」に書き換えるとか。
#大して難しくないけど、元の「3or5の剰余がゼロ」という数学的な式から書き換えるのは結構面倒くさそう。
さらにそれに条件つけて「それが土・日などの休業日にあたっていたら代わりに
(直前の金曜にアラート||直後の月曜にアラート)」とか条件分岐を入れたときに
書き換えが一番少ないのはどんな言語(仕様)なのだろう?
Re:短く書けるかよりもメンテナンスのし易さ (スコア:1)
ワンライナーは、出題の「2分(?)で書けなくては…」に対するひとつの答えでしょう。間違っているとは思いません。きっとぎりぎりTuneをした結果なのでしょう。
日数問題に書き換える。
為政者が暦を管理するという歴史的事情があるので、問題が複雑になってしまっているのでしょう。暦の方を書き換えるという手がありますが、それは革命で。(あ、国際的に孤立するか)
Copyright (c) 2001-2014 Parsley, All rights reserved.