2007-11-01から1ヶ月間の記事一覧

javascript で SEND + MORE = MONEY

覆面算を append map の深さ優先探索で解いてみる。 参考 ocaml-nagoya:ネタ記録庫 function solve() { // var digs = [0,1,2,3,4,5,6,7,8,9]; var digs = $A($R(0,9)); var m = 1; var o = 0; var s = 9; return digs.without(m,o,s).map(function(e) { ret…

たたみすぎる Array#flattenはprototype.jsでも。

さくっと深さ優先探索したいときに map でこう書く。 aϵ[0,1,2]とbϵ[1,2,4]からa+bが奇数になるペアを求める。 function solve() { var a = [0,1,2]; var b = [1,2,4]; return a.map(function(x) { return b.map(function(y) { if ((x + y) % 2) return [x,y…

prototype.js の max,min がいまいち

体力が一番残ってるやつの名前が知りたいとき [{name: "foo", hp:5}, {name: "bar", hp:3}, {name: "boo", hp:2}].max(function(x) {return x.hp}); 実行結果 5 HP5じゃなくてインデックス(この場合 0)か要素をよこせ。 ああ、こんなとき関数型言語ならfold…

機動戦士ガンダム00の感想

主人公は4人、ガンダムは4体。SEEDはガンダムが多すぎた。∀はヒゲだった。Wは主人公が5人いてストーリーが間延びしがちだった。 ガンダムは変形するが、合体はしない。合体は"リアルな設定"と相性がよくない。変形したほうがおもちゃが売れる。 各話につき戦…

私は高河ゆんファンだが、彼女は作品を未完にしたまま次に取りかかることが多いので、連載完結してから読もうなんてことになる。 しかし、ガンダム00ではキャラデザインなので、安心して楽しめるのがうれしい。 そんな私の、

javascript で配列 [0..9] を作りたいときどうしてますか?

ふつう var a = new Array(10); for (var i=0; i < 10; i++) {a[i] = i;}; ふつう var a = []; for (var i=0; i < 10; i++) {a.push(i);}; prototype.js を使う var a = new Array(10); a.length.times(function (i) {a[i] = i}); var a = $A($R(0,9)); New …

javascript による 数独 自動解答 プログラム

http://eva-lu-ator.net/~gemma/geocities/jscont/sudoku.html バックトラックを実装してあるので、どんな問題でも解くことができます。 解答が複数あるときは全部表示します。 これを次のニコニコ動画のネタにしようと思ってるんですが、ずるずる後回しにな…

Where have all the cowboys gone?

大学の中央図書館で、10年前のbit誌を見てみた。特に懐かしかったのは、VRML。 VRMLに関わっていた人間はいったいどこへ行ってしまったのだろう。 また、Second Life みたいなものが10年前にもあった。PAW無邪気なマイコンやもめ達は今、どうしているこ…