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

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

増井 敏克(著)

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

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

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

在庫あり

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

電子書籍はこちら

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

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

【本書の特徴】
・パズル問題をソースコードで解く
・楽しみながらプログラミングが上達
・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問)とレベルも大差ないかに思えるが、アルゴリズムを短くシンプルに、と考えると解答の目標時間を超えることが多くなる(途中からは無視)。グラフ理論系のひと筆書き問題では掲載されたコードサンプル以上のシンプルさに適わないが、さらによい書き方を考えつつ解く意欲は養われる。

関連リンク

関連商品

おすすめ特集

法人・教育機関のお客様へ

【法人・教育機関のお客様へ】新年度の大口注文・お見積りなど、お気軽にご相談ください

Webデザイン特集

デザインやコーディングなど、Webデザインに役立つスキルが身につく書籍を揃えました

生成AI特集

テキスト生成、画像生成、動画生成など、生成AI活用のスキルが身につく本をご紹介

新社会人におすすめの本

新社会人の役に立つスキルが身につく本。ビジネスパーソンとしてスタートダッシュを切ろう!

プログラミング教育の本

小学校から必修化!人気の『ルビィのぼうけん』ほかプログラミング教育の本はこちら

翔泳社のセミナー・講座

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

特集をもっと見る