Problem 247

247 Squares under a hyperbola

Problem 247 – Project Euler

x=1, y=0, y=1/x の中に次々と最大の正方形を詰めていく問題.

一見,複雑だが…

一つ,正方形を詰めると,残りの領域の分割数が丁度一つ増えることに着目.

再帰関数を構成した.

haskellのコードは以下(パスワードは問題の答え).

http://firestorage.jp/download/ae7643dcbf297623dc4ea3e11dee5c4cf6df33a3

こういう形にした理由は以下で.

source code を載せないが,パスワード付きでアップロードする理由

幸か不幸か,このブログ,”project euler” + 問題番号で ググルと結構上位に来てしまう.

はじめは,問題数も少なかったし,haskellだし,日本語だし,問題ないと思っていたが,

どうやら,そうではない様子.

答えが簡単に検索できてしまうのは,

Project Euler 的にも良くないし,僕もそれでは,Project Eulerの魅力が半減してしまうと思う.

では,コードを載せなければ良いかというと,個人的には良くない.

なせなら,コードを載せていた理由の一つはhaskell普及のため,haskellに関心を持ってもらい,haskell スゴイよって思ってもらうこと.

関数型言語は強力だって,宣伝したかった.

Project Euler のフォーラムに投稿すれば良いって意見もあるけど,

フォーラムは100件までしか投稿できない.

つまり,自分のhaskellのコードがその1/100を占める価値があるのか,という問題がある.

あと,言語が英語だし(これは,単に英語能力の問題だが).

という以上の理由から,こういう形になった.

一番やりたかったのは,記事別にパスワードで公開設定できたら良かった.

それが出来れば,外部にファイルをアップロードする必要ないし.

しかし,現在はてなにそのような機能はないようだ.