Project euler 24 解説

Posted by TAKAIY On 2012年12月28日金曜日 0 コメント
前の投稿に引き続き、Clojureの勉強会のコメント用の投稿です。
問題24を解の解き方の解説図です。

詳細は、gistのコメントで。


gistを貼っておきます。


READ MORE

Euler 4 retry

Posted by TAKAIY On 2012年12月17日月曜日 0 コメント
最近、Clojureの勉強会に出ていて、Project Euler の4番の高速版を作ってみました。

説明の画像を作ったので、貼ります。


コードも貼っときます。
説明はgistのコメントで。




READ MORE

仕事でClojure

Posted by TAKAIY On 2012年11月12日月曜日 0 コメント
最近、更新していないのは、仕事でちょっとしたログ監視の仕組みを作ることになって、自分しかメンテできないことを覚悟の上で、Clojureを使って構築していたから。

キーワードだけ並べてみる。

サーバー
  clojure
  compojure
  hiccup (テスト用)
  commons.io.input.Tailer

データベース
  mongodb
  mongoika

クライアント
  dojo
  maqetta

調べながらだったので、1ヶ月ぐらいかかったけれど、初めての割に早くできた。
順調に動いているようだし、とてもいい。

広げていけるといいなぁ。むりかな。
逆に、本格的に運用で...とか言われたら困るな。

READ MORE

Leiningen 2 に移行しました。 Windows

Posted by TAKAIY On 2012年8月8日水曜日 0 コメント
ClojureScriptに手を出したのですが、lein depsがエラーを吐いてしまったので、ここで一つ、leiningen 2(lein2)に移行してみようと思ったわけです。

1から2へのアップグレード方法が本家のここのページにあるので、これに沿ってやってみた作業のログです。

ちなみに、環境はWindows7で、ファイル操作はEmacsのeshellでやっています。


READ MORE

Euler : Problem 87

Posted by TAKAIY On 2012年7月25日水曜日 0 コメント

素数を2乗,3乗,4乗した数の和についての問題です。

とりあえずfor(内包表記)を使ってやってみるかな、と思ってたらできちゃいました。


READ MORE

Euler : Problem 86

Posted by TAKAIY On 0 コメント

直方体の向いあった頂点を結ぶ最短距離が整数になる場合の数を求める問題

全数アタックで解いた。
思ったよりも時間はかからずにできました。


READ MORE

Euler : Problem 85

Posted by TAKAIY On 2012年7月2日月曜日 0 コメント


長方形を正方格子で切ったときに内部にできる長方形の数が二百万にもっとも近いものを求める問題です。

これも自分で解いたぞ。


READ MORE

Euler : Problem 84

Posted by TAKAIY On 2012年6月30日土曜日 0 コメント

モノポリーの各マスに止まる確率を求める問題です。

純粋に計算で出るんじゃないかと思ったけど、だめっぽい。計算のしかたからしてわからない。どうしよう。どうしよう。


で、実際にやってみることにした。 シミュレーションです。
サイコロ振って、マス目を移動して、そこの指示に従う、ってのをたくさん繰り返して、それぞれのマスに止った数を数えて確率を計算します。
最終的に百万回で答を出してます。

ソースは長めですけど、パキパキとできあがって、たのしかったな。
ここのところ、見つけてきた公式にあてはめてっていうパターンが多かったのでさおさらかな。

そういえば、今回から1.4でやってます。mapvとかvecter系の関数はちょっと便利そう。まだ使ってないけど。


READ MORE

こわれた

Posted by TAKAIY On 0 コメント
テンプレートいじっていたら、ページがおかしなことになってしまったので、移りました。
こっちがあたらしいです。

READ MORE

Euler : Problem 83

Posted by TAKAIY On 2012年5月2日水曜日 0 コメント
升目のルートの問題の最後です。

これは全探索しかないんじゃないかなぁ。
速度向上のために、枝刈りを2つ入れてみたけど、やっぱり時間がかかる。
15分以上かかった。 根本的に考え直さないとだめかなぁ。




READ MORE

Euler : Problem 82

Posted by TAKAIY On 0 コメント
数字の入った盤面を移動するコストの問題その2

今回は右と上下のどちらにでも移動できます。


READ MORE

Euler : Problem 81

Posted by TAKAIY On 0 コメント
四角に並んだ数の角から角まで行くときの最小コストの計算

これは動的計画法ですね。
67の問題とほぼ同じなので、同じやりかたで解いてます。


READ MORE

Euler : Problem 80

Posted by TAKAIY On 0 コメント
80は、数の開平の問題です。

初めは、数値解析のやりかたでやろうと思って、やってはみたものの、時間が掛りすぎてだめ。
で、結局、一番最初に思った、筆算の開平の方法を実装して解決。


READ MORE

Euler : Problem 79

Posted by TAKAIY On 2012年5月1日火曜日 0 コメント
ここのところ、ブログに載せるのをさぼっていたので、連投です。

79は、暗唱番号の問題です。
よくある、手元の表から何番目と何番目と何番目を答えてみたいなやつの問題。
答の列から元の表を推測します。

とりあえず、と、思って「答の列で最も左にあるやつが元の表でも左にあるでしょう」っていう方式で解いてみたら解けちゃった。


READ MORE

Euler : Problem 78

Posted by TAKAIY On 2012年4月20日金曜日 0 コメント

ここのところ続いている、分割数の問題です。

前までの漸化式で解こうとしたら、時間がかかってだめ。
Wikipediaを見なおしてみると、別の漸化式があったのでこっちでやってみたら、まあ、なんとか。


READ MORE

Euler : Problem 77

Posted by TAKAIY On 2012年4月19日木曜日 0 コメント
最近、Herokuでのアプリ作りで苦闘していたり、仕事が忙しかったりして、更新してなかったけど、久しぶりにPEを解いた。


数を素数で分割する問題です。


READ MORE

SKKツールをherokuに載せました。

Posted by TAKAIY On 2012年1月29日日曜日 0 コメント
この間デスクトップアプリで作ったSKKIMEのレジストリ作成ツールをWebアプリに仕立てて、Herokuに上げました。



ソースはGithubにあります。

使ったライブラリは、

  • Compojure
  • Ring
  • hiccup
です。

レジストリの変換のモジュールは、デスクトップアプリで使ったものそのままです。


作るとき、ファイルのダウンロードのところに手間どってしまった。
わかってしまえば、書いてあるとおりなのだけれども、Compojure/Ringの変化が速いせいか、Webで見つかる情報が古くて、そのままでは使えなかっりした。

やっぱり、「元のドキュメントはしっかり読もう」というのが教訓でした。






READ MORE

SKKIMEのローマ字変換設定

Posted by TAKAIY On 2012年1月19日木曜日 0 コメント
MS IMEは突然変な変換をしてくれたり(今はよくなってるのかもしれないけど)するので好きじゃないし、ATOKにするのも癪だし、今の仕事の環境でcannaが使えなかったこともあり、だいぶ前に両方SKK(とSKKIME)に以降した。

さらに、そのころからDvorak配列に移行したこともあり、日本語の入力はDvorakJPを使っている。

さて、DvorakJPを使うためには、ローマ字とかなの変換テーブルに情報を追加する必要があるのだけれど、UNIX版であれば、それは単にテキストファイルの設定ファイルを修正すれば済むのだけれど、SKKIMEでは、なんと、設定がレジストリになってしまっており、ちまちまとGUIで設定しなくてはならないのだ。
ちょっとした修正ならなんとかするが、10を超えると苦痛でしかない。

というわけで、ずっと一部の対応だけ(k->cと拗音のところ)だけで来たのだれど、clojureのGUIの練習がてら作ってみた。

ということでこれです。




使いかたもここにありますです。



これで、二重母音が2打鍵で打てて、「かんたん」なら4打鍵で打てるはずなんだけれど、やっぱり普通に打ってしまう。 精進せねば。


こんどは、これをHerokuでWebサービスにしてみようかな。と思っている。



READ MORE

Euler : Problem 76

Posted by TAKAIY On 2012年1月4日水曜日 0 コメント
100を自然数の和に分割する問題です。

初めは動的計画法のつもりで、1から積み上げていく方法をやってみたのですが、あえなく時間切れ。

Wikipediaでこれが自然数の分割というのだということを知り、とりあえずそこに出ていた式を実装してみたら解けた。


READ MORE