17.03 Прочие прототипы
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от
до
включительно. Рассматривается множество элементов последовательности, больших
, в
которых цифра в разряде десятков не превышает
, а цифра в разряде сотен принадлежит отрезку [
;
].
Найдите количество таких чисел и минимальное из них.
Решение программой
Программа проходит по всем элементам последовательности из файла. Для каждого числа проверяется, что оно больше 100. Если это условие выполняется, преобразуем число в строку, чтобы проверить отдельные цифры.
Далее проверяем две цифры: цифру в разряде десятков (второй справа символ строки) и цифру в разряде сотен (третий справа символ). Десятки должны быть не больше 4, а сотни — лежать в диапазоне от 3 до 7 включительно. Если оба условия выполняются, учитываем число — увеличиваем счётчик и обновляем минимальное найденное число.
В конце выводим количество таких чисел и минимальное из них.
# Открываем файл и считываем числа в список f = open(’dz17-15.txt’) s = [int(_) for _ in f] # Инициализируем счётчик подходящих чисел counter = 0 # Инициализируем переменную для минимального числа minim = 10 ** 10 # Перебираем все числа последовательности for i in range(len(s)): # Проверяем, что число больше 100 if s[i] > 100: # Преобразуем число в строку для проверки цифр k = str(s[i]) # Проверяем цифру в разряде десятков и сотен if int(k[-2]) <= 4 and int(k[-3]) in [3, 4, 5, 6, 7]: # Увеличиваем счётчик подходящих чисел counter += 1 # Обновляем минимальное число minim = min(minim, s[i]) # Выводим количество подходящих чисел и минимальное из них print(counter, minim)
Ошибка.
Попробуйте повторить позже
В файле(dz17-29.txt) содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 10 000 включительно. Необходимо найти минимальный кратный 7 и минимальный кратный 13 элемент последовательности. Если минимальный кратный 7 больше минимального кратного 13, то программа должна вывести количество кратных 7, а также максимальный из них. В противном случае программа должна вывести количество кратных 13, а также максимальный из них.
Решение программой
Сначала читаем последовательность чисел из файла. Задача состоит в сравнении двух минимальных значений: минимального элемента, кратного 7, и минимального элемента, кратного 13. Также считаем количество и находим максимум среди чисел, кратных 7 и кратных 13. Затем сравниваем два минимума: если минимальный кратный 7 больше минимального кратного 13, то выводим количество и максимум среди кратных 7. Иначе — количество и максимум среди кратных 13.
# Открываем файл и читаем все числа f = open(’dz17-29.txt’) s = [int(_) for _ in f] # Счётчики кратных 7 и 13 counter_7 = 0 counter_13 = 0 # Инициализация минимумов и максимумов min_7 = 10 ** 10 min_13 = 10 ** 10 max_7 = -10 ** 10 max_13 = -10 ** 10 # Проходим по всем числам for i in range(len(s)): # Если кратно 7 if s[i] % 7 == 0: counter_7 += 1 min_7 = min(min_7, s[i]) max_7 = max(max_7, s[i]) # Если кратно 13 if s[i] % 13 == 0: counter_13 += 1 min_13 = min(min_13, s[i]) max_13 = max(max_13, s[i]) # Сравниваем минимальные значения и выводим ответ if min_7 > min_13: print(counter_7, max_7) else: print(counter_13, max_13)
Ошибка.
Попробуйте повторить позже
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе через пробел сначала количество локальных минимумов в этой последовательности, затем максимальный среди этих элементов. Под локальным минимумом подразумевается элемент последовательности, меньший двух соседних элементов. Гарантируется наличие хотя бы двух локальных минимумов.
Решение программой
В задаче требуется найти локальные минимумы в последовательности — это такие элементы, которые строго меньше своих соседей слева и справа. Мы перебираем все элементы, кроме первого и последнего, поскольку у крайних элементов нет двух соседей. Для каждого элемента проверяем, меньше ли он соседних элементов. Если да, увеличиваем счётчик найденных локальных минимумов и обновляем максимальное значение среди них, сравнивая текущий локальный минимум с уже сохранённым максимумом. В итоге выводим количество таких элементов и наибольшее значение среди них.
# Открываем файл и считываем последовательность чисел в список file = open("17.txt") arr = [int(_) for _ in file] count_local_min = 0 # Счётчик локальных минимумов max_local_min = -10 ** 5 # Инициализируем переменную для максимума среди локальных минимумов достаточно маленьким числом # Проходим по элементам с 1 до предпоследнего индекса (не включая крайние) for i in range(1, len(arr) - 1): # Проверяем, что текущий элемент меньше соседних слева и справа if arr[i] < arr[i - 1] and arr[i] < arr[i + 1]: count_local_min += 1 # Увеличиваем счётчик max_local_min = max(max_local_min, arr[i]) # Обновляем максимум среди локальных минимумов print(count_local_min, max_local_min)
Ошибка.
Попробуйте повторить позже
В файле 2.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Рассматривается такие элементы последовательности, которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них.
Решение программой
Напишем программу, которая проходит по всем числам из файла и отбирает те, которые делятся на 3, но при этом не делятся на 7, 17, 19 и 27. Для проверки делимости используем оператор остатка от деления (
# открываем файл и считываем числа в список file = open("17.txt") arr = [int(_) for _ in file] counter = 0 # счетчик подходящих чисел max_elem = 0 # максимальное подходящее число # перебираем все числа for elem in arr: # проверяем делимость на 3 и неделимость на 7, 17, 19, 27 if elem % 3 == 0 and elem % 7 != 0 and elem % 17 != 0 and \ elem % 19 != 0 and elem % 27 != 0: counter += 1 # увеличиваем счетчик max_elem = max(max_elem, elem) # обновляем максимум # выводим количество и максимальное число print(counter, max_elem)
Ошибка.
Попробуйте повторить позже
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые положительные значения до 10 000 включительно. Необходимо найти количество элементов последовательности, кратных 56, и количество кратных 89. Если количество кратных 56 больше, чем количество кратных 89, то программа должна вывести количество кратных 56, а также минимальный из них. В противном случае программа должна вывести количество кратных 89, а также максимальный из них. Числа в ответе запишите через пробел.
Решение программой
Напишем программу, которая будет проходить по всем числам из файла и считать количество элементов, кратных 56 и кратных 89. Одновременно будем отслеживать минимальное число, кратное 56, и максимальное число, кратное 89. После прохода по списку сравним количества кратных 56 и кратных 89. Если количество кратных 56 больше, то выведем количество кратных 56 и минимальное из них, в противном случае — количество кратных 89 и максимальное из них.
# считываем все числа из файла в список f = open("17_6.txt") a = [int(i) for i in f] # счётчики количества элементов кратных 56 и 89 c56 = 0 c89 = 0 # переменные для минимального числа кратного 56 и максимального числа кратного 89 mn56 = 10**10 mx89 = -10**9 # перебираем все числа for i in range(len(a)): if a[i] % 56 == 0: # если число кратно 56, увеличиваем счётчик и обновляем минимальное число кратное 56 c56 += 1 mn56 = min(mn56, a[i]) if a[i] % 89 == 0: # если число кратно 89, увеличиваем счётчик и обновляем максимальное число кратное 89 c89 += 1 mx89 = max(mx89, a[i]) # сравниваем количества и выводим результат согласно условию if c56 > c89: print(c56, mn56) else: print(c89, mx89)
Ошибка.
Попробуйте повторить позже
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые положительные значения до 10 000 включительно. Необходимо найти минимальный чётный и минимальный нечётный элемент последовательности. Если минимальный чётный больше минимального нечётного, то программа должна вывести количество чётных, а также максимальный из них. В противном случае программа должна вывести количество нечётных, а также максимальный из них. Числа в ответе запишите через пробел.
Решение программой
Напишем программу, которая будет проходить по всем числам из файла и находить минимальные чётные и нечётные элементы, а также подсчитывать количество и максимумы для каждой из этих групп. Для этого создадим счётчики для количества чётных и нечётных чисел, переменные для минимальных и максимальных значений в каждой группе. Перебирая все числа, будем обновлять эти значения в зависимости от чётности числа. После прохода по списку сравним минимальный чётный и минимальный нечётный элементы. Если минимальный чётный больше минимального нечётного, то выведем количество чётных чисел и максимальное чётное число, иначе — количество нечётных чисел и максимальное нечётное число.
# считываем все числа из файла в список f = open("17_7.txt") a = [int(i) for i in f] # счётчики количества чётных и нечётных чисел cc = 0 # количество чётных cn = 0 # количество нечётных # переменные для минимальных значений — инициализируем большими числами mnc = 10**10 # минимальный чётный mnn = 10**10 # минимальный нечётный # переменные для максимальных значений — инициализируем маленькими числами mxc = -10**9 # максимальный чётный mxn = -10**9 # максимальный нечётный # перебираем все числа for i in range(len(a)): if a[i] % 2 == 0: # если число чётное, увеличиваем счётчик чётных, обновляем минимальный и максимальный чётные cc += 1 mnc = min(mnc, a[i]) mxc = max(mxc, a[i]) else: # если число нечётное, увеличиваем счётчик нечётных, обновляем минимальный и максимальный нечётные cn += 1 mnn = min(mnn, a[i]) mxn = max(mxn, a[i]) # сравниваем минимальные значения и выводим результат согласно условию if mnc > mnn: print(cc, mxc) else: print(cn, mxn)
Ошибка.
Попробуйте повторить позже
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Рассматривается множество элементов последовательности, которые при делении на 16 дают остаток 3, при этом не делятся ни на 4, ни на 64. Найдите и запишите в ответе через пробел разность наибольшего и наименьшего из таких чисел и их количество.
Решение программой
Напишем программу, которая будет проходить по всем числам из файла и отбирать те, которые при делении на 16 дают остаток 3, при этом не делятся на 4 и не делятся на 64. Для этого пройдём по списку чисел, проверяя каждое число на выполнение трёх условий: остаток от деления на 16 равен 3, остаток от деления на 4 не равен 0 (то есть число не делится на 4), и остаток от деления на 64 не равен 0 (число не делится на 64). Все числа, подходящие под эти условия, добавим в отдельный список. После окончания перебора найдём разность между максимальным и минимальным числом из этого списка и посчитаем количество таких чисел. В ответ выведем сначала разность, затем количество таких чисел.
# считываем все числа из файла в список f = open("17_8.txt") a = [int(i) for i in f] # создаём список для чисел, подходящих под условия nums = [] # перебираем все числа for i in range(len(a)): # проверяем три условия одновременно: # 1) остаток от деления на 16 равен 3 # 2) число не делится на 4 (остаток от деления на 4 не равен 0) # 3) число не делится на 64 (остаток от деления на 64 не равен 0) if a[i] % 16 == 3 and a[i] % 4 != 0 and a[i] % 64 != 0: nums.append(a[i]) # выводим разницу между максимальным и минимальным числом из списка и количество таких чисел print(max(nums) - min(nums), len(nums))