Вопрос задан 15.03.2025 в 17:57. Предмет Информатика. Спрашивает Супрун Арина.

Даны три действительных числа: a, b, c. Проверьте, выполняется ли равенство a+b=c

Формат входных данных

С клавиатуры вводятся числа a, b, c — действительные, положительные, не превосходят 10 и заданы не более, чем с 7 знаками после точки.
Формат выходных данных

Если равенство выполняется, выведите «YES», если не выполняется, выведите «NO».
Примеры

входные данные выходные данные
2
3
7
NO
0.2
0.3
0.5
YES

Перейти к ответам

Ответы на вопрос

Отвечает Лемешев Коля.

Для решения этой задачи нужно проверить, выполняется ли равенство a+b=ca + b = c с учетом ограниченной точности чисел с плавающей запятой, так как числа заданы с точностью до 7 знаков после запятой. Для этого важно учитывать возможные погрешности в вычислениях, вызванные представлением чисел с плавающей запятой в компьютере.

Решение

  1. Считать входные данные:

    • Считать три числа a,b,ca, b, c, которые вводятся через пробел или по очереди.
  2. Сравнение с учетом точности:

    • Чтобы сравнить a+ba + b с cc, лучше использовать проверку с небольшой погрешностью, например, 10710^{-7}. Это можно сделать с помощью проверки: (a+b)c<ϵ|(a + b) - c| < \epsilon где ϵ=107\epsilon = 10^{-7} или чуть больше.
  3. Вывод результата:

    • Если условие выполняется, вывести YES.
    • Иначе вывести NO.

Пример реализации на Python

python
# Считываем входные данные a, b, c = map(float, input().split())

# Устанавливаем точность сравнения epsilon = 1e-7

# Проверяем условие if abs((a + b) - c) < epsilon: print("YES") else: print("NO")

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

  1. Ввод данных: Функция map(float, input().split()) преобразует вводимые значения в числа с плавающей запятой.
  2. Установка погрешности: Значение epsilon определяет допустимую погрешность при сравнении.
  3. Проверка условия: Используем функцию abs() для вычисления абсолютного значения разницы между a+ba + b и cc. Если эта разница меньше ϵ\epsilon, считаем, что равенство выполняется.
  4. Вывод результата: Если равенство выполняется, выводится YES, иначе NO.

Примеры работы

Пример 1

Ввод:

2 3 7

Вывод:

objectivec
NO

Пример 2

Ввод:

0.2 0.3 0.5

Вывод:

objectivec
YES

Этот алгоритм учитывает особенности работы с числами с плавающей запятой и корректно обрабатывает заданные условия.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос