напишите программу, которая позволит ответить на следующий вопрос: можно ли среди трёх заданных чисел выбрать 2 таким образом, чтобы в сумме они давали третье.
Пример: 6 13 7 – среди этих чисел можно выбрать 6 и 7, которые в ответе дадут 13.
Для решения данной задачи, нам нужно проверить, можно ли среди трёх заданных чисел выбрать пару, сумма которых равна третьему числу. Программа должна проверять все возможные пары чисел.
Рассмотрим алгоритм:
1. Пусть у нас есть три числа: a, b, c.
2. Проверим три возможных случая:
- \( a + b = c \)
- \( a + c = b \)
- \( b + c = a \)
Если хотя бы одно из этих равенств выполняется, то можно выбрать такие числа, сумма которых будет равна третьему числу.
Пример программы на Python:
```python
def check_sum(nums):
# Проверяем все возможные суммы пар
if nums[0] + nums[1] == nums[2] or nums[0] + nums[2] == nums[1] or nums[1] + nums[2] == nums[0]:
return True
return False
# Ввод трёх чисел
nums = list(map(int, input("Введите три числа через пробел: ".split()))
# Проверяем условие
if check_sum(nums):
print("Можно выбрать два числа, сумма которых равна третьему."
else:
print("Нельзя выбрать два числа, сумма которых равна третьему."
```
### Пояснение:
1. Мы принимаем на вход три числа, используя `input` и превращаем строку в список чисел с помощью `map(int, input().split())`.
2. Затем вызываем функцию `check_sum()`, которая проверяет все три возможных равенства.
3. Если одно из условий выполняется, выводим сообщение о том, что можно выбрать такие два числа. Если ни одно условие не выполнено, выводим, что нельзя.
### Пример работы программы:
```
Введите три числа через пробел: 6 13 7
Можно выбрать два числа, сумма которых равна третьему.
```
```
Введите три числа через пробел: 5 8 3
Нельзя выбрать два числа, сумма которых равна третьему.
```
check_sum_binary = lambda a, b, c: any(x + y == z for x, y, z in [(a, b, c), (a, c, b), (b, c, a)])
a, b, c = 6, 13, 7
print("Можно выбрать два числа, сумма которых равна третьему." if check_sum_binary(a, b, c) else "Нельзя выбрать два числа, сумма которых равна третьему."
function checkSum(numbers) {
numbers.sort((a, b) => a - b); // Сортируем числа
return numbers[0] + numbers[1] === numbers[2];
}
const inputString = prompt("Введите три числа через пробел:"
const numbers = inputString.split(" ".map(Number);
if (numbers.length !== 3 || numbers.some(isNaN)) {
console.log("Введите ровно три числа."
} else {
if (checkSum(numbers)) {
console.log("Можно выбрать два числа, сумма которых равна третьему."
} else {
console.log("Нельзя выбрать два числа, сумма которых равна третьему."
}
}
def check_sum_of_two_equals_third(a, b, c):
if a + b == c or a + c == b or b + c == a:
return True
return False
# Ввод трёх чисел
a, b, c = map(int, input("Введите три числа через пробел: ".split())
if check_sum_of_two_equals_third(a, b, c):
print("Можно выбрать два числа, которые в сумме дадут третье."
else:
print("Невозможно выбрать два числа, которые в сумме дадут третье."
def can_sum_to_third(a, b, c):
# Проверяем все возможные комбинации
return (a + b == c) or (a + c == b) or (b + c == a)
# Ввод чисел
numbers = input("Введите три числа через пробел: "
a, b, c = map(int, numbers.split())
# Проверка условия
if can_sum_to_third(a, b, c):
print("Да, можно выбрать два числа так, чтобы их сумма равнялась третьему."
else:
print("Нет, нельзя выбрать два числа так, чтобы их сумма равнялась третьему."