Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных...

Тематика Информатика
Уровень 5 - 9 классы
программирование сумма чисел числа кратные 3 числа оканчивающиеся на 8 цикл ввода данных обработка последовательности чисел условие окончания ввода
0

Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 3 и оканчивающихся на 8. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчи- вается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 3 и оканчивающихся на 8. Пример работы программы: Входные данныеВыходные данные 23 48 12 18 34 0 66

avatar
задан 6 месяцев назад

2 Ответа

0

Для решения данной задачи можно написать программу на языке программирования Python:

sum_of_numbers = 0

while True:
    num = int(input())
    if num == 0:
        break
    if num % 3 == 0 and num % 10 == 8:
        sum_of_numbers += num

print(sum_of_numbers)

Эта программа считывает последовательность чисел, и при каждом вводе числа проверяет, кратно ли оно 3 и оканчивается ли на 8. Если условие выполняется, то число добавляется к общей сумме. После ввода числа 0 программа выводит общую сумму чисел, которые соответствуют условиям.

avatar
ответил 6 месяцев назад
0

Для решения данной задачи можно написать программу на Python. Программа будет считывать числа с клавиатуры до тех пор, пока не будет введено число 0, и будет суммировать числа, удовлетворяющие условиям задачи (кратные 3 и оканчивающиеся на 8). Вот пример такой программы:

def main():
    sum_result = 0
    while True:
        number = int(input("Введите число: "))
        if number == 0:
            break
        if number % 3 == 0 and str(number).endswith('8'):
            sum_result += number

    print("Сумма всех чисел, кратных 3 и оканчивающихся на 8:", sum_result)

if __name__ == "__main__":
    main()

Объяснение кода:

  1. В функции main создаётся переменная sum_result, которая будет хранить сумму подходящих чисел.
  2. Используется бесконечный цикл while True для непрерывного считывания вводимых данных.
  3. В цикле с помощью input() запрашивается ввод числа, которое сразу конвертируется в целое число с помощью int().
  4. Проверяется, равно ли введённое число 0. Если да, то цикл прерывается с помощью команды break.
  5. Далее проверяется, кратно ли число 3 (number % 3 == 0) и оканчивается ли оно на 8 (str(number).endswith('8')). Если оба условия выполняются, число добавляется к sum_result.
  6. После выхода из цикла выводится итоговый результат суммирования.

Программа корректно обрабатывает ввод чисел и завершает свою работу при вводе числа 0, не включая его в анализ. Такой подход позволяет легко добавлять числа и получать нужный результат без ограничения на максимальное количество чисел (но в условии задачи указано, что их не более 100).

avatar
ответил 6 месяцев назад

Ваш ответ

Вопросы по теме