翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 法人のお客様へ 新規会員登録 ログイン
SEshop

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問

増井 敏克(著)

商品番号
142450
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2015年10月13日
出荷開始日
2015年10月14日
ISBN
9784798142456
判型
A5
ページ数
312
キーワード
プログラミング  アルゴリズム  数学

2,838円(税込)(本体2,580円+税10%)
送料無料

258pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

電子書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

  • ポスト

パズルを解くコードを、あなたは書けるか?
アルゴリズムがみるみるわかる!プログラミングってやっぱり面白い!

急速な技術の進歩、システム開発競争の激化……。プログラマを取り巻く環境はやさしいものではありません。でも、思い出してみてください。自分の書いたソースコードでプログラムが動くのを初めて見たとき。思い描いた通りのプログラムができたとき。プログラミングの楽しさを感じたことでしょう。何もないところからソースコードだけで新たな価値を生むプログラマは、非常に魅力的な職業です。

本書で登場する数学パズルは、そのようなワクワクにあふれています。「両替したときの硬貨の組み合わせはいくつ?」のような問題から、「国名でしりとりしたときに、一番長く続く順番は?」「運命の出会いは何通り?」というものまで、70の問題を解くコードを、3人のキャラクターたちと一緒に考えていきます。

パズルを解くうちにアルゴリズムが身につき、シンプルで高速なコードが書けるようになります。楽しみながらスキルアップもできて一石二鳥。さっそく挑戦してみましょう!

【使用言語について】
本書の解説では、主にRubyとJavaScriptを使用していますが、解説内容は「考え方」が中心であるため、どんな言語にも応用できます。また、問題を解くために特定の言語が必要になることもありません。

【本書に収録されている問題(抜粋)】
Q01 10進数で回文
Q03 カードを裏返せ
Q08 優秀な掃除ロボット
Q09 つりあわない男女
Q21 排他的論理和で作る三角形
Q33 百人一首の達人
Q45 素数のマトリックス
Q48 グレイコードのループ
Q53 いたずらされたお菓子
Q64 迷路で待ち合わせ

第1章 入門編★プログラムを作って問題を解いてみよう
 2進数と10進数
 Q01 10進数で回文
 Q02 数列の四則演算
 Q03 カードを裏返せ
 Q04 棒の切り分け
 Q05 いまだに現金払い?
 Q06 (改造版)コラッツの予想
 Q07 日付の2進数変換
 Q08 優秀な掃除ロボット
 Q09 つりあわない男女
 Q10 ルーレットの最大値

第2章 初級編★★簡単な問題を解いてアルゴリズムの効果を実感しよう
 費用対効果を意識する
 Q11 フィボナッチ数列
 Q12 平方根の数字
 Q13 覆面算を満たすのは何通り?
 Q14 W杯出場国しりとり
 Q15 階段で立ち話
 Q16 3本のひもで作る四角形
 Q17 30人31脚に挑戦!
 Q18 ショートケーキの日
 Q19 友達の友達は友達?
 Q20 受難のファサードの魔方陣
 Q21 排他的論理和で作る三角形
 Q22 絡まない糸電話
 Q23 ブラックジャックで大儲け!?
 Q24 完璧に撃ち抜くストラックアウト
 Q25 オシャレな靴ひもの結び方
 Q26 効率のよい立体駐車場
 Q27 右折を禁止されても大丈夫?
 Q28 クラブ活動への最適な配分
 Q29 合成抵抗で作る黄金比
 Q30 テーブルタップで作るタコ足配線

第3章 中級編★★★アルゴリズムを工夫して高速な処理を実現しよう
 オーダー記法と計算量
 Q31 最短経路の計算
 Q32 畳を敷きつめろ
 Q33 百人一首の達人
 Q34 飛車と角の利き
 Q35 運命の出会いは何通り?
 Q36 「0」と「7」の回文数
 Q37 サイコロの反転
 Q38 7セグメントコードの反転
 Q39 「白」で埋めつくせ!
 Q40 並べ替えの繰り返し
 Q41 美しい?IPアドレス
 Q42 1つの数字で作る1234
 Q43 シャッフルで逆順
 Q44 グラスの水を半分に
 Q45 素数のマトリックス
 Q46 ソートの交換回数の最少化
 Q47 オンリーワンな○×
 Q48 グレイコードのループ
 Q49 反転で作る互い違い
 Q50 急がば回れ
 Q51 パーフェクトシャッフル
 Q52 同時に終わる砂時計
 Q53 いたずらされたお菓子
 Q54 同じ数字で挟み撃ち
 Q55 横着なそろばん
 Q56 公平に分けられたケーキ

第4章 上級編★★★★視点を変えて高速化を目指してみよう!
 ソースコードの個性
 Q57 あみだくじの横線
 Q58 最速の連絡網
 Q59 ハンカチ落としの総走行距離
 Q60 セルの結合パターン
 Q61 同じ大きさに分割
 Q62 交差せずに一筆書き
 Q63 カレンダーの最大長方形
 Q64 迷路で待ち合わせ
 Q65 面倒なキャッチボール
 Q66 図形の一筆書き
 Q67 クロスワードパズルを作成せよ!
 Q68 隣り合わないのがマナー?
 Q69 男女平等な席替え
 Q70 青白歌合戦

各種問い合わせは以下のリンクからご連絡ください

感想・レビュー

kaizen@名古屋de朝活読書会 さん

2017-01-06

増井敏克 #技術士 プログラム書くと簡単解けるものRuby JapaScript打つ  プログラム書かずに解ける問題もどちらもあること知れば賢し 

calicalikoume さん

2019-08-17

本書を通じて主に再帰を使ったパターン検索と便利な組み込み関数の使い方が自然と身についたと思います。高速化としてはメモ化やビット演算の活用が印象に残っています。数学的な解き方はなかなか気付けず、解答を見て頷く事が多かったです。問題を解く中で、自分のコードでは計算が終わらず解答のアルゴリズムだと一瞬で解けるケースがあったりして何度か衝撃を受けました。Rubyが読めるようになるまでは苦労しますが、解答はシンプルなものが多く説明も丁寧なので理解しやすいと思います。

しんしん さん

2015-10-30

今までに読んだプログラミングパズルの本の中で一番楽しかった。 問題を読んで、アルゴリズムが組み立てられたら次に進むということを1冊続けられたのは自信になった。 問題の題材も楽しくて、本のページ構成も解くことに集中させてくれた。

関連リンク

関連商品

なっとく! 並行処理プログラミング

3,520円(税込)

2024.11.11発売

おすすめ特集

プログラミング入門書大特集

翔泳社のプログラミング書籍の中から、入門・初級者向けの書籍をピックアップ!

Linuxおすすめ本特集

【Linux本特集】入門~達人レベルまで!クラウド時代の必須知識Linuxを学ぶおすすめの本

ライティングおすすめ本

ライティングのスキルアップにおすすめの本。Webライティングやコピーライティングなど

マネー本特集

お金と経済の基礎知識から、資産形成・投資術、お金教育や介護まで。暮らしに役立つマネー本

インテリア本特集

おしゃれな部屋作りのヒントやインテリアの基礎知識、色使い、うつわや洋食器の知識まで、幅広い書籍をご紹介

事務職におすすめの本

Excel、日商簿記、業務の自動化を実現するRPAやPythonの技術など、事務職としてステップアップしたい人に!

特集をもっと見る