もっとプログラマ脳を鍛える数学パズル アルゴリズムが脳にしみ込む70問

増井 敏克(著)

商品番号
153610
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2018年02月19日
出荷開始日
2018年02月16日
ISBN
9784798153612
判型
A5
ページ数
344
キーワード
プログラミング  アルゴリズム  Ruby  JavaScript  数学

販売価格:¥2,838(税込)送料無料

ポイント:1,290pt (50%)
ポイントの使い方はこちら

在庫あり

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

電子書籍を見る

今すぐ使える10%割引クーポン
(一部除外あり)

ほしい物リストに追加

全国のプログラマを悩ませたパズル集、待望の新作!
問題を解きながら、楽しくアルゴリズムを身につけよう

【本書の特徴】
・パズル問題をソースコードで解く
・楽しみながらプログラミングが上達
・4人のキャラクターによるやさしい解説
・アルゴリズムを深く理解できる
※初歩的なアルゴリズムの知識があることを前提としています

【本書で使用する言語】
Ruby/JavaScript
※すべての問題で、上記2つの言語の解答を掲載しています
※どの言語でも活用できるような解説の仕方をしていますが、上記のどちらかを習得していると、より理解しやすくなります

【内容紹介】
コンピュータを取り巻く環境は日々、大きく変化しています。

そんな時代の変化の中でも、変わらずに
重要とされているのが「アルゴリズム」です。

効率よく処理するプログラムを作成するには、
アルゴリズムを工夫することが求められています。

本書は、さまざまな数学パズルを解くことにより、
「よいアルゴリズム」を身につけることを目的としています。

一筆書きや組み合わせなどの定番問題から、
「サンタクロースが効率よく家を回るには?」
「カップルを隣同士に並ばせない席順は?」といったものまで、
楽しみながら思考が広がる問題を70問用意しました。

【目次(抜粋)】
★序章 パズル問題を解くコツ

★第1章 入門編 素直に実装して感覚をつかもう
Q01:一発で決まる多数決
Q02:山手線でスタンプラリー など

★第2章 初級編 メモ化などを使って処理時間を意識しよう
Q20:酔っ払いの帰り道
Q37:ダイヤルロックを解除せよ! など

★第3章 中級編 数学的な工夫を考えて処理を高速化しよう
Q40:沈みゆく島で出会う船
Q43:隣り合えないカップル など

★第4章 上級編 複雑な処理を正確に実装しよう
Q63:永遠に続くビリヤード
Q65:n-Queenで反転 など

【目次】
★第1章 入門編 素直に実装して感覚をつかもう
Q01:一発で決まる多数決
Q02:山手線でスタンプラリー
Q03:ローマ数字の変換規則
Q04:点灯している量で考えるデジタル時計
Q05:枚数で考えるパスカルの三角形
Q06:長方形から作る正方形
Q07:ファイルの順番を元どおりに戻したい!
Q08:セルの結合で一筆書き
Q09:ナルシシストな8進数
Q10:アダムズ方式で議席数を計算せよ!
Q11:オリンピックの開催都市投票
Q12:円周率に近似できる分数
Q13:並べ替えの繰り返し2
Q14:現地で使いやすい両替
Q15:幅優先の二分木を深さ優先探索
Q16:既約分数はいくつある?

★第2章 初級編 メモ化などを使って処理時間を意識しよう
Q17:グループで乗るリフト
Q18:非常階段での脱出パターン
Q19:バランスのよいカーテンフック
Q20:酔っ払いの帰り道
Q21:本の読み方は何通り?
Q22:百マス計算で最小のマスをたどると?
Q23:セミナーの座席を整列させろ
Q24:予約でいっぱいの指定席
Q25:左右対称の二分探索木
Q26:回数指定のじゃんけん
Q27:大家族でチョコレートを分けるには
Q28:パターゴルフのコース設計
Q29:公平に分けられたケーキ2
Q30:交互に取り合うカードゲーム
Q31:ソートされないカード
Q32:乗客のマナーがよすぎる満員電車
Q33:ホワイトデーのお返し
Q34:左右に行ったり来たり
Q35:かしこい幹事の集金術
Q36:上下反転した数字
Q37:ダイヤルロックを解除せよ!
Q38:全員が大きく移動する席替え

★第3章 中級編 数学的な工夫を考えて処理を高速化しよう
Q39:隣り合うと消えちゃうんです
Q40:沈みゆく島で出会う船
Q41:スタートメニューのタイル
Q42:大忙しのサンタクロース
Q43:隣り合えないカップル
Q44:3進法だとどうなる?
Q45:一筆書きの交点
Q46:一筆書きでクルクル
Q47:圧縮できるパターンは何通り?
Q48:均等に分配されるカード
Q49:番号の対応表で作るグループ
Q50:戦闘力で考えるモンスターの組み合わせ
Q51:連続する桁の数字で作る平方数
Q52:一列に並べたマトリョーシカ
Q53:重さが素数の荷物を運ぶエレベーター
Q54:素数で作る天秤ばかり
Q55:十文字に反転して色を揃えろ
Q56:回数指定のじゃんけん2
Q57:急行停車駅と特急停車駅のパターン
Q58:ポーランド記法と不要なカッコ
Q59:取られたら取り返す!
Q60:○×ゲームの結果画面は何通り?

★第4章 上級編 複雑な処理を正確に実装しよう
Q61:互い違いに並べ替え
Q62:壊れたピンチハンガー
Q63:永遠に続くビリヤード
Q64:最短距離で往復できる形は?
Q65:n-Queenで反転
Q66:整数倍の得票数
Q67:迷路の最長経路
Q68:Base64で反転
Q69:ファイル数が異なるフォルダ構成
Q70:他人と同じ商品は選ばない

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

感想・レビュー

ふじ さん

2018-09-03

だめ、無理、意味わかんない!(笑)数列的な数学の問題をコーディングで解くワーク。言語はRubyとJavaScript。

roughfractus02 さん

2018-03-29

前著では、ソースコードでパズルを解きながら見た目のいいコードの書き方がよい解答だと理解できたが、前著での体験から本書に取り組むと、よいアルゴリズムを書くという目標を常に意識する。使う言語(Ruby,JavaSprict)も前著と同じ、問題数(70問)とレベルも大差ないかに思えるが、アルゴリズムを短くシンプルに、と考えると解答の目標時間を超えることが多くなる(途中からは無視)。グラフ理論系のひと筆書き問題では掲載されたコードサンプル以上のシンプルさに適わないが、さらによい書き方を考えつつ解く意欲は養われる。

関連リンク

関連商品

動かして学ぶ!Python FastAPI開発入門

販売価格:3,520円(税込)

2023.06.14発売

動かして学ぶ!Flutter開発入門

販売価格:4,180円(税込)

2023.05.17発売

おすすめ特集

ライティングおすすめ本

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

情報処理教科書シリーズ

【2023年版】情報処理技術者試験におすすめの参考書「EXAMPRESS 情報処理教科書シリーズ」で最短合格

プログラミング本特集

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

コミュニケーションおすすめ本

職場でのコミュニケーションに悩むあなたにおすすめの本7選。コミュ力は鍛えられる!

電気工事技術者

第二種電気工事士、電験3種など、電気工事技術者関連の資格参考書はこちら

翔泳社のセミナー・講座

開発・ビジネス・マーケティング・EC運営・営業支援など、幅広いジャンルの講座を開催

特集をもっと見る