プログラマのためのコードパズル ~JavaScriptで挑むコードゴルフとアルゴリズム

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

ダウンロードを行う前に

次の点についてご確認のうえ,ダウンロードを行ってください。

  • 本データの利用につきましては,通常の使用状態では何の問題も発生しないことを確認しておりますが,万が一障害が発生し,その結果いかなる損害が発生したとしても弊社および著者は何ら責任を負うものではありません。そのため,一切の保証をいたしかねます。予めご承知おきください。
  • 本データは著作権法上の保護を受けています。収録されているファイルの一部あるいは,全部において,無断で複写,複製,再配布することは禁じられています。以上のことをご確認,ご了承の上,データをご利用ください。

本データのダウンロード

サンプルコードは,プログラムごとに1つにまとめられ,ZIP形式で圧縮してあります。ダウンロード後は解凍してお使いください。解凍すると,そのフォルダ内には,各プログラムのソースコードが格納されています。

ダウンロード
サンプルコード

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2014年12月11日更新)

P.50 3行目

4. 細かな整理をする 88文字、18%
4. 細かな整理をする 85文字、17%

P.50 コード部分

掲載内容
function yourCode() {
r=""
s=256
for(x=y=h=48;y+h;r+=x--+h?((d<s*4)+(d<s)):(x=h,y-=2,"\n"))d=x*x+y*y
return r;
}
改良後

function yourCode() {
r=""
s=256
for(x=y=h=48;y+h;r+=x--+h?(d<s*4)+(d<s):(x=h,y-=2,"\n"))d=x*x+y*y
return r
}

書籍に記載のコードは間違いではありません。さらに短いコードに改良したものです。

P.50 コード下部

もっと短く書けるかもしれませんが、88文字でストップです。
もっと短く書けるかもしれませんが、85文字でストップです。

P.58 1.最初の状態 探索リスト

    2  3  4  5  6  7  8  9 10
11 12 13 14 15 16 17 18 10 20
    2  3  4  5  6  7  8  9 10
11 12 13 14 15 16 17 18 19 20

P.237 図7 移動コスト

以下の位置が正しいものです。

正