ОЧЕНЬ НУЖНА Монетки
Контрольная работа
макс.
Дедлайн: 24 дек. 12:18
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Нильс ухватился за конец рычага, торчавший снаружи, и повис на нём вместо груза.
И вот крышка горшка с монетами заскрипела, затрещала и вдруг вылетела из горлышка, как ядро из жерла пушки. А Нильс в тот же самый миг кубарем покатился по земле.
— Ур-ра! Ур-ра! Ур-ра!— закричали вороны и бросились к горшку.
Они хватали монетки, клевали их, катали по земле, потом высоко подбрасывали и снова ловили.
Монетки сверкали, искрились и звенели в воздухе. Настоящий серебряный дождь падал на землю.
Напишите программу, которая поделит монетки поровну.
Формат ввода
Вводятся целые числа, пока не будет введено число, оканчивающееся на 2. Дальнейший ввод нужно игнорировать.
Формат вывода
Нужно определить средний номинал подходящих монет (результат целочисленного деления суммы номиналов на их количество). Подходящими считаются нечетные двузначные числа.
Пример 1
Ввод Вывод
17
117
44
243
43
14
102
15
6
30
Пример 2
Ввод Вывод
100500
1984
51
23
7
42
19
24
Давай разберемся с задачей. Нам нужно написать программу, которая поделит монетки поровну. Вводятся целые числа, пока не будет введено число, оканчивающееся на 2. Дальнейший ввод нужно игнорировать. Мы должны определить средний номинал подходящих монет, где подходящими считаются нечетные двузначные числа.
Для решения задачи нам понадобится использовать циклы, условия и переменные.
Давай начнем программу. Здесь приведен пример решения на языке программирования Python:
```python
# Создаем переменные для хранения суммы номиналов и количества подходящих монет
sum_nominals = 0
count_nominals = 0
# Вводим числа до тех пор, пока не будет введено число, оканчивающееся на 2
while True:
number = int(input())
if number % 10 == 2:
break
if 10 < number < 100 and number % 2 != 0:
# Если число является нечетным двузначным числом,
# то увеличиваем сумму номиналов и количество монет на 1
sum_nominals += number
count_nominals += 1
# Проверяем, есть ли подходящие монетки
if count_nominals > 0:
# Вычисляем средний номинал
average_nominal = sum_nominals // count_nominals
print(average_nominal)
else:
print("Нет подходящих монет")
```
Давай пошагово разберем, что делает программа:
1. Создаем две переменные: `sum_nominals` для хранения суммы номиналов и `count_nominals` для хранения количества подходящих монет. Обе переменные инициализируем значением нуля.
2. Затем мы входим в цикл `while True`. Это бесконечный цикл, который будет выполняться до тех пор, пока не будет выполнено условие для выхода из цикла.
3. Внутри цикла считываем числа с помощью функции `input()`. Преобразуем строку в целое число с помощью функции `int()`. Сразу после считывания числа проверяем, оканчивается ли оно на 2. Если оно оканчивается на 2, то мы прерываем цикл с помощью инструкции `break`.
4. Мы также проверяем, является ли число нечетным двузначным числом. Если это так, то увеличиваем сумму номиналов и количество монет на 1.
5. После завершения цикла проверяем, есть ли подходящие монетки. Если количество подходящих монет больше 0, то вычисляем средний номинал путем целочисленного деления суммы номиналов на количество монет. Иначе, выводим сообщение "Нет подходящих монет".
6. В конце программы выводим средний номинал или сообщение, если нет подходящих монет.
Надеюсь, это поможет тебе решить задачу! Если возникнут дополнительные вопросы, обращайся.