Практика
Все варианты взяты с сайта sdamgia.ru/
🏹 Задача 1 (эту подробно)
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число — минимальное число, оканчивающееся на 4.
| Входные данные | Выходные данные |
|---|---|
| 3 | 14 |
| 24 | |
| 14 | |
| 34 |
В любой задаче самое главное - отличить зёрна от плёвна и ответить на вопрос "что от нас хотят?".
В данной задаче ключевые слова:
1. Получает на вход количество чисел, затем сами числа - это значит, что наше первое действие - это получить размер ряда, чтобы запустить цикл for с range(размер ряда)
2. Определить минимальное число
3. Определить числа, оканчивающиеся на "4"
2. Определить минимальное число
3. Определить числа, оканчивающиеся на "4"
Иначе говоря, наш план такой:
1. Получить n - число итераций цикла
2. Объявить переменную для минимального значения
4. Запустить цикл for _ in range(n)
5. В цикле проверять, чтобы число кончалось на "4"
6. Если прошло проверку, то сравнить минимальное значение и наше новое значение, и если новое меньше, то новое записать в минимальное.
2. Объявить переменную для минимального значения
4. Запустить цикл for _ in range(n)
5. В цикле проверять, чтобы число кончалось на "4"
6. Если прошло проверку, то сравнить минимальное значение и наше новое значение, и если новое меньше, то новое записать в минимальное.
Поехали:
python
# получаем число итераций
n = int(input())
# память для минимума, пока пустоту
minimum = None
# начинаем цикл с n итераций
for _ in range(n):
# получаем число в цикле
number = int(input())
# проверяем последнее число
if number % 10 == 4:
# если минимум - None, то минимум становится первым минимальным числом
if minimum == None:
minimum = number
# если минимум больше нового значения, переписываем
if minimum > number:
minimum = number
print(minimum)🏹 Задача 2
Напишите программу, которая в последовательности натуральных чисел определяет количество однозначных чисел, кратных 3. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число: количество однозначных чисел, кратных 3.
| Входные данные | Выходные данные |
|---|---|
| 121 | 1 |
| 9 | |
| 4 | |
| 0 |
Что выносим главное
1. Однозначные числа (10 > n >= 0) (да, чисто технически 0 это однозначное, но в нашем случае 0 - это выход из цикла, поэтому в коде мы возьмем не включительно)
2. Кратность 3
3. Итерации неизвестны: будет while + break при "0"
4. Вывести всё количество чисел, подходящих под условия
2. Кратность 3
3. Итерации неизвестны: будет while + break при "0"
4. Вывести всё количество чисел, подходящих под условия
План
1. Переменная для подсчета количества чисел
2. Цикл while + break при "0"
3. В цикле получаем через input число
4. Проверяем на кратность
5. Проверяем на однозначность
6. Увеличиваем счетчик, если условия выполнены
7. Выводим результат
2. Цикл while + break при "0"
3. В цикле получаем через input число
4. Проверяем на кратность
5. Проверяем на однозначность
6. Увеличиваем счетчик, если условия выполнены
7. Выводим результат
Погнали!
python
# счетчик
count = 0
# начинаем бесконечный цикл
while True:
# получаем число в цикле
number = int(input())
if number == 0:
break
# проверяем кратность на 3
if number % 3 == 0: # остаток от деления на 3 должен быть 0
# проверяем на однозначность
if 10 > number > 0:
# на этом этапе проверки пройдены
# можно увеличить счетчик
count += 1
print(count)🏹 Задача 3
Напишите программу, которая в последовательности целых чисел определяет их количество и сумму четных чисел. Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа по модулю не превышают 30 000. Программа должна вывести два числа: длину последовательности и сумму четных чисел.
Количество чисел не превышает 1000. Введенные числа по модулю не превышают 30 000. Программа должна вывести два числа: длину последовательности и сумму четных чисел.
| Входные данные | Выходные данные |
|---|---|
| 4 | 3 |
| 60 | 64 |
| 15 | |
| 0 |
Что выносим главное
1. Надо посчитать количество чисел
2. Надо посчитать сумму чётных чисел
3. Цикл while + break с "0", как конец
4. Выводим по порядку: длинна последовательности -> сумму чётных
2. Надо посчитать сумму чётных чисел
3. Цикл while + break с "0", как конец
4. Выводим по порядку: длинна последовательности -> сумму чётных
План
1. Объявляем переменную count для общего числа чисел
2. Объявляем переменную sum для суммы чётных чисел
3. Делаем бесконечный цикл
4. Получаем number в каждой итерации
5. Сравниваем number с 0, и если что выходим
6. Сразу увеличиваем счётчик всех чисел
7. Если число без остатка делится на 2, значит чётное
8. Суммируем п. 7. в общую переменную
2. Объявляем переменную sum для суммы чётных чисел
3. Делаем бесконечный цикл
4. Получаем number в каждой итерации
5. Сравниваем number с 0, и если что выходим
6. Сразу увеличиваем счётчик всех чисел
7. Если число без остатка делится на 2, значит чётное
8. Суммируем п. 7. в общую переменную
Погнали!
python
# счетчик
count = 0
# сумма всех четных
sum = 0
# начинаем бесконечный цикл
while True:
# получаем число в цикле
number = int(input())
if number == 0:
break
# сразу увеличиваем т.к. из условия 1. нужно количество всех чисел
count += 1
# если введённое число делится на 2 без остатка
if number % 2 == 0:
# суммируем
sum += number
print(count)
print(sum)🏹 Задача 4
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 6. Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число — минимальное число, оканчивающееся на 6.
| Входные данные | Выходные данные |
|---|---|
| 3 | 16 |
| 26 | |
| 16 | |
| 36 |
Что выносим главное
1. Сначала длина последовательности, потом числа, следовательно:
2. Цикл for + range, зависящий от первой переменной (длинны последовательности), которую надо получить
3. Минимальное число
4. Оканчивается на 6
2. Цикл for + range, зависящий от первой переменной (длинны последовательности), которую надо получить
3. Минимальное число
4. Оканчивается на 6
План
1. Получаем n - длину последовательности (сколько раз выполнить цикл?)
2. Объявим minimal переменную, в которой будем хранить минимум
3. Напишем цикл for _ in range(n)
4. В цикле получаем number - число при итерации
5. Проверяем, кончается ли на 6 через if number % 10 == 6 (остаток от деления на 10 равен 6)
6. Если number меньше minimal, то minimal станет number
7. Вывод minimal
2. Объявим minimal переменную, в которой будем хранить минимум
3. Напишем цикл for _ in range(n)
4. В цикле получаем number - число при итерации
5. Проверяем, кончается ли на 6 через if number % 10 == 6 (остаток от деления на 10 равен 6)
6. Если number меньше minimal, то minimal станет number
7. Вывод minimal
Погнали!
python
# получаем число итераций цикла
n = int(input())
# объявляем переменную для хранения минимума
# пока ставим None, потом первое значение станет минимальным
minimal = None
# цикл, который выполняется n раз
for _ in range(n):
# получаем число в текущей итерации
number = int(input())
# если остаток от деления на 10 даёт 6, значит последняя цифра - 6
if number % 10 == 6:
# если нет минимального значения, значит цикл только начался
if minimal == None:
# присваиваем первое значение, оно теперь - минимальное
minimal = number
# если минимальное значение больше number
if minimal > number:
# теперь number - минимальное значение
minimal = number
# выводим минимум
print(minimal)🏹 Задача 5
Эту задачу надо решить самостоятельно: выделит главное, составить план и написать решение. Потом можно свериться с моим решением.
Напишите программу, которая в последовательности натуральных чисел определяет количество трехзначных чисел, кратных 4. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число: количество трехзначных чисел, кратных 4.
Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число: количество трехзначных чисел, кратных 4.
| Входные данные | Выходные данные |
|---|---|
| 120 | 1 |
| 9 | |
| 365 | |
| 4 | |
| 0 |
Что выносим главное
???
План
???
Погнали!
python
???Моё решение