トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2014-06-03(火) [長年日記]

BOOKSCANに送る本の冊数を計算するアプリを作った

ひさびさにサンデープログラミング。

毎月BOOKSCANに送る本を選ぶときに、BOOKSCANの「冊数」(350ページまでが1冊、あとは+200ページごとに+1冊)を計算するのがつくづく面倒くさくなったので、計算してくれる簡単なWebアプリを作った。候補になってる本のISBNをバババっと入れていくと、一箱に収まるかどうかを計算してくれる。とりあえず自分の役に立てばいいのでライトプラン専用、デザインも最小限*1。本の題名はAmazonへリンクになっているので、一箱分が埋まったらそのまま注文してしまえば良い。

[スクリーンショット]BOOKSCAN Premium Optimizerの画面

なお、一箱分を超えると二箱目に突入するが、以降は一箱目がもっともお得になるように遺伝的アルゴリズムを使って最適なセットを計算する(えっ、この人なに言ってるの……?)。なお「お得」の意味は「一箱に入るトータルのページ数を最大化する」ということである。三箱目以降も同様*2

例によってソースはGitHubで

Tags: ebook ruby

*1 あんまり真面目に作ってないのでDoS攻撃等には脆弱です。

*2 ナップサック問題の一種なので、そもそもこんなことをしなくても厳密解が得られるはずである。

関連する日記: 2015-04-18(土)

トップ «前日 最新 翌日» 編集
RSS feed