Решение трудных и увлекательных задач на Python [Хабиб Изадха] (pdf) читать постранично

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Хабиб Изадха, Рашид Бехзадидуст

Решение
трудных и увлекательных
задач на Python

Challenging Programming
in Python: A Problem
Solving Perspective

Habib Izadkhah · Rashid Behzadidoost

Решение трудных
и увлекательных задач
на Python

Хабиб Изадха, Рашид Бехзадидуст

Москва, 2024

УДК 004.438Python
ББК 32.973.22
И32

И32 Изадха Х., Бехзадидуст Р.
Решение трудных и увлекательных задач на Python / пер. с англ.
А. Н. Киселева. – М.: ДМК Пресс, 2024. – 240 с.: ил.
ISBN 978-5-93700-280-8
Цель данной книги – укрепить навыки логического рассуждения и развить творческое мышление, представив и решив 90 не самых простых задач
на Python. Задачи изложены доходчиво и сжато, снабжены алгоритмами и
комментариями, что помогает читателям следить за процессом их решения
и понимать его суть.
Издание предназначено читателям с базовыми знаниями языка Python,
которые стремятся вывести свои способности на новый уровень. Книга будет
полезна студентам, преподавателям, разработчикам, а также участникам
соревнований по программированию.

ISBN 978-3-03139-998-5 (англ.)
ISBN 978-5-93700-280-8 (рус.)

© Springer Nature Switzerland AG, 2024
© Оформление, перевод на русский язык,
издание, ДМК Пресс, 2024

Оглавление
Предисловие.................................................................................................................... 9
Об авторах..................................................................................................................... 11
Глава 1. Введение.......................................................................................................... 12
1.1. Почему Python?................................................................................................................ 12
1.2. Без использования библиотек................................................................................... 13
1.3. Развитие навыков программирования и творческого мышления
при решении сложных задач...................................................................................... 13
1.4. Предварительные условия........................................................................................... 14
1.5. Целевая аудитория......................................................................................................... 14
Глава 2. Математика..................................................................................................... 15
2.1. Задача Иосифа Флавия................................................................................................. 16

Алгоритм............................................................................................................................................ 17
2.2. Подсчет количества путей к точке (0,0) на координатной сетке................. 19

2.3. Создание отсортированного списка целых чисел для задачи
выбора Брюсселя.............................................................................................................. 21
2.4. Поиск решения обратной гипотезы Коллатца..................................................... 23
2.5. Подсчет правильных прямых углов......................................................................... 27
2.6. Ближайшее s‑угольное число..................................................................................... 28
2.7. Поиск точки опоры физических весов.................................................................... 30
2.8. Вычисление общего количества блоков, необходимых
для построения пирамиды из сфер.....................................................................................32
2.9. Группировка монет.......................................................................................................... 33
2.10. Поиск медианы по тройкам чисел......................................................................... 35
2.11. Наименьшее число из семерок и нулей.............................................................. 38
2.12. Оценка математических выражений в постфиксной нотации................... 40
2.13. Достижение стабильного состояния в болгарском пасьянсе...................... 43
2.14. Вычисление площади прямоугольных башен Манхэттена
на линии горизонта......................................................................................................... 46
2.15. Разрезание прямоугольника на квадраты.......................................................... 50
2.16. Удаление правильных прямых углов в двумерной сетке............................. 53
2.17. Треугольник Лейбница................................................................................................ 56
2.18. Расстояние Коллатца................................................................................................... 60
2.19. Сумма двух квадратов................................................................................................ 62
2.20. Поиск трех чисел........................................................................................................... 64

6

 Оглавление

2.21. Определение совершенной степени.................................................................... 68
2.22. Лунное умножение целых чисел............................................................................ 70
2.23. n‑й член последовательности Рекамана............................................................. 73
2.24. n‑й член последовательности Ван Эка................................................................. 74
2.25. Поиск суммы чисел Фибоначчи на основе теоремы
Цекендорфа........................................................................................................................ 77
2.26. Поиск k‑го слова Фибоначчи................................................................................... 79
2.27. Поиск прямой в двумерной сетке, пересекающей наибольшее
количество точек.............................................................................................................. 80
2.28. Проверка сбалансированности центрифуги..................................................... 83
Глава 3. Числа................................................................................................................ 88
3.1. Число Циклопа................................................................................................................. 89
3.2. Цикл домино..................................................................................................................... 90
3.3. Извлечение возрастающих чисел............................................................................. 91
3.4. Развертывание