книга Как решать головоломные задачи на компьютере: Нетривиальные головоломки для программистов на языке C#

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я
0-9 A B C D I F G H IJ K L M N O P Q R S TU V WX Y Z #


Как решать головоломные задачи на компьютере: Нетривиальные головоломки для программистов на языке C#

скачать Как решать головоломные задачи на компьютере: Нетривиальные головоломки для программистов на языке C# бесплатно

 

Название: Как решать головоломные задачи на компьютере: Нетривиальные головоломки для программистов на языке C#
Автор: Рубанцев Валерий
Страниц: 113
Формат: Смешанный
Размер: 12 Mb
Качество: Отличное
Язык: Русский
Год издания: 2013


Многие головоломки – это совсем не тривиальные программистские задачи! Недаром ими занимались и занимаются серьёзные учёные.
Достаточно назвать Леонарда Эйлера, Карла-Фридриха Гаусса, Эжена Шарля Каталана и классика программирования Дональда Кнута, чтобы доказать это утверждение.
Решению многих исторических головоломок посвящена моя книга Как решать комбинаторные задачи на компьютере. Там, в частности, рассматриваются:

- Считалка Иосифа Флавия – обсуждается в книге Дональда Кнута и соавторов Concrete Mathematics (Graham, Knuth, Patashnik), страницы 8-20.

- Головоломка Дьюдени о представлении сотни – подробно анализируется в книге Дональда Кнута Искусство программирования, том 4, выпуск 4.

- Генерирование случайных латинских квадратов по алгоритмам Джона Байерса. А теорию построения латинских квадратов разработал великий швейцарский учёный Леонард Эйлер.

- Расстановка ферзей на шахматной доске – эту задачу решал великий немецкий математик Карл-Фридрих Гаусс.

А в этой книге мы будем решать японскую головоломку судоку, для которой Дональд Кнут придумал алгоритм Dancing Links, описанный им в статье с тем же названием.

Насколько мне известно, единственная книга на русском языке (и то в переводе с французского), хоть сколько-нибудь систематически описывающая решение головоломок на компьютере, - это книга Жака Арсака Программирование игр и головоломок, выпущенная издательством Наука в 1990 году. Однако в ней рассматриваются классические, давно известные головоломки – Ханойские башни, расстановка ферзей на шахматной доске, криптарифмы, прыгающие лягушки, лабиринт, солитер и пентамино. Я же выбрал в качестве примеров современные и очень популярные во всём мире головоломки – словесные, числовые, логические и комбинаторные.

Думаю, что программистам на языке C# будет интересно и полезно решить с помощью компьютера такие головоломки:

· Магические квадраты (Magic squares)
· Euro-Tableau (Евро-табло)
· Voisinage (Соседство)
· Расставить числа – Rechenquadrat; Atomium (Kreisrechnen); Multiplikationsrätsel; Числовое колесо (Zahlenrad); Summennetz; 1,2,3,4,5,6.
· Буквенное лото, Отгадать слово
· С ловоскоп (Word Search Puzzle, Wörtersuchen)
· Домино-пасьянс (Domino Puzzle), Квадрильи
· Крисс-кросс, Кроссворд, Чайнворд
· Сквэрворд (Squareword)
· Диаго, Диаго-плюс (Diago)
· Судоку (Sudoku)
· Gebiete (Области, Gebietssummen)
· Кен-кен (KENKEN, KenDoku)
· Какуро (Kakuro, Kreuzsummenrätsel)
· Хитори (Hitori)
· Фобидоши (Fobidoshi)
· Лабиринт-алфавит (Zahlenschlange)
· Змейки
· Японский кроссворд (Edel, Нонограмма, Nonogram, Paint-by-numbers, Japanese puzzle, pic-a-pix, griddlers, Hanjie)

Система «домашних» заданий позволит укрепить навыки программирования при самостоятельном решении таких головоломок:

· Сколько номеров?
· Криптарифмы (числовые ребусы)
· Пирамида
· Rechenproblem
· Symbolrätsel
· Кроссворд с выражениями
· Числа в «коробках»
· Муравейник
· 13 кружков
· Королевская балда
· Футошики (Futoshiki, Больше-меньше)
· Sudoku X
· Судоку-аргайл
· Судоку-астериск
· Судоку-жирандоль
· Судоку-Center Dot
· Судоку-убийца (Killer Sudoku, сум-до-ку)
· Аруконе (Arukone)
· Филиппинский кроссворд (Link-a-Pix, Paint by pairs)

Основной метод решения головоломных задач – как представленных в этой книге, так и многих других – перебор с возвратами (поиск в глубину, DFS, backtracking). Однако без серьёзного анализа конкретной головоломки обычно не удаётся решить её за разумное время. Поэтому решение всех задач предваряет разработка достаточно эффективного алгоритма, а затем подробно обсуждается его реализация на языке Си-шарп. Здесь вы узнаете:

· как представить информацию о задаче в файле на диске;
· какие типы данных выбрать для хранения данных в приложении;
· как показать условие задачи и процесс её решения на экране;
· как сохранить найденные решения на диске;
· как не только решать, но и составлять свои собственные задачи.

Все приложения написаны на языке Си-шарп, который идеально подходит для решения головоломных задач, но исходный код без труда может быть переведён на любой другой современный язык программирования.

Исходные коды прилагаются!

СОКРАЩЕННЫЙ ВАРИАНТ КНИГИ

  [turbobit]  [dfiles]




С этой книгой бесплатно скачивают:



1

 

 

Электронная библиотека Kodges.ru — интересный ресурс для тех, кто не любит тратить много времени на поиск необходимого издания. В каталогах представлено огромное количество книг различной тематики, которые можно скачать совершенно бесплатно в нужном формате. В разделе «Компьютерная литература» можно скачать как книги для профессионалов, так и книги с ответами на популярные вопросы, например, «Как решать головоломные задачи на компьютере: Нетривиальные головоломки для программистов на языке C#». Благодаря удобной навигации библиотеки, каждый читатель моментально найдет необходимое издание.


Поделитесь ссылкой на книгу со своими друзьями:

HTML ссылка:


Ссылка для форумов:


Прямая ссылка:



Имя:*
E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent



Навигация по сайту


Читательские рекомендации

Информация