Книга программиста/Задачи на Python 3: различия между версиями
Содержимое удалено Содержимое добавлено
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
|||
Строка 4:
=Простые задачи=
==Бинарный поиск==
<
import math, random
Строка 35:
BinarySeach(L, 4, 0, N - 1)
</syntaxhighlight>
[[Задачи_на_PascalABC.Net#Бинарный поиск|Смотрите также: реализация на PascalABC.Net]]
==Список с максимумом максимумов==
<
L = max([[1, 2, 3], [4, 5, 6]], key = max)
print(L)
print('Индекс максимального элемента {0} равен {1}.'.format(max(L), L.index(max(L))))
</syntaxhighlight>
[[Задачи_на_PascalABC.Net#Массив с максимумом максимумов|Смотрите также: реализация на PascalABC.Net]]
Строка 48:
==Стандартные функции==Kuan-Kek
Определим следующие функции для решения задач:
<
# Выполняет чтение списка целых чисел с клавиатуры.Kuan-Kek
def ReadListInteger(n):
Строка 78:
def MaxBy(l, f):
return max(filter(lambda x: f(x), l))
</syntaxhighlight>
==Удаление лишних пробелов в строках массива==
<
def ReadListString(n):
L = []
Строка 92:
print(list(map(lambda x: ToWords(x), ReadListString(2))))
</syntaxhighlight>
[[#Стандартные функции|Используемые функции]]
Строка 106:
значения элементов выводить не нужно. Исходные данные объявлены так, как показано ниже.
Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
<
N = 2014
Строка 126:
print(K)
</syntaxhighlight>
[[Задачи_на_PascalABC.Net#Локальные минимумы|Смотрите также: реализация на PascalABC.Net.]]
Строка 135:
Например, для массива из шести элементов, равных соответственно 4, 6, 12, 17, 9, 8,
ответом будет 9 – наименьшее нечётное число, поскольку нечётных чисел в этом массиве меньше.
<
MaxValue = 100000000
Строка 159:
else:
print(Min2)
</syntaxhighlight>
<
def ReadListString(n):
L = []
Строка 176:
else:
print(MinBy(L, lambda x: x%2 != 0))
</syntaxhighlight>
[[#Стандартные функции|Используемые функции]]
Строка 188:
равных соответственно 2, 6, 12, 17, 3, 8, ответом будет 2 – количество нечётных элементов,
так как общая сумма всех элементов чётна.
<
N = 2000
Строка 207:
else:
print(K1)
</syntaxhighlight>
<
def ReadListInteger(n):
L = []
Строка 220:
else:
print(len(filter(lambda x: x%2 == 0, L)))
</syntaxhighlight>
[[#Стандартные функции|Используемые функции]]
Строка 232:
в которых хотя бы одно число делится на 3.
В данной задаче под парой подразумевается два подряд идущих элемента массива.
<
N = 20
Строка 246:
print(K)
</syntaxhighlight>
[[Задачи_на_PascalABC.Net#Пары с элементом кратным 3|Смотрите также: реализация на PascalABC.Net.]]
==Задача 5==
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 5.
<
N = 40
Строка 266:
print(K)
</syntaxhighlight>
[[Задачи_на_PascalABC.Net#Числа, оканчивающиеся на 5|Смотрите также: реализация на PascalABC.Net.]]
==Математические задачи==
===Задача о принадлежности точки кольцу===
<
import math
Строка 284:
else:
print('Точка вне кольца.')
</syntaxhighlight>
[[Задачи_на_PascalABC.Net#Задача о принадлежности точки кольцу|Смотрите также: реализация на PascalABC.Net.]]
===Задача о решении уравнений===
<
import math
Строка 303:
else:
print('Ошибка нахождения корней: недопустимое значение {0} для D (< 0).'.format(D))
</syntaxhighlight>
[[Задачи_на_PascalABC.Net#Задача о решении уравнений|Смотрите также: реализация на PascalABC.Net.]]
|