ГДЗ 10. Даны три натуральных числа. Разработайте, отладьте и протестируйте на приведённых данных программу, определяю...
10.
Даны три натуральных числа. Разработайте, отладьте и протестируйте на приведённых данных программу, определяющую, существует ли треугольник с такими длинами сторон. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний). Для проверки правильности программы используйте тест:
| Входные данные | Выходные данные |
|---|---|
| a b c >> 1 2 1 | Не существует |
| a b c >> 2 2 2 | Равносторонний |
| a b c >> 20 20 30 | Равнобедренный |
| a b c >> 3 4 5 | Разносторонний |
Решение
Для решения задачи необходимо использовать следующие правила геометрии:
- Условие существования треугольника: сумма длин любых двух сторон должна быть строго больше длины третьей стороны ($a + b > c$, $a + c > b$, $b + c > a$).
- Определение типа:
- Если все три стороны равны ($a = b = c$), треугольник равносторонний.
- Если равны только две стороны ($a = b$ или $b = c$ или $a = c$), треугольник равнобедренный.
- Если все стороны разные, треугольник разносторонний.
Пример реализации программы на языке Python:
# Ввод трех натуральных чисел
a = int(input("Введите a: "))
b = int(input("Введите b: "))
c = int(input("Введите c: "))
# Проверка неравенства треугольника
if a + b > c and a + c > b and b + c > a:
# Определение типа треугольника
if a == b == c:
print("Равносторонний")
elif a == b or b == c or a == c:
print("Равнобедренный")
else:
print("Разносторонний")
else:
print("Не существует")
Разбор тестовых данных:
1 2 1: $1 + 1 = 2$, что не больше $2$. Условие существования не выполнено. Ответ: Не существует.2 2 2: $2 + 2 > 2$ (верно), все стороны равны. Ответ: Равносторонний.20 20 30: $20 + 20 > 30$ (верно), две стороны равны ($20 = 20$). Ответ: Равнобедренный.3 4 5: $3 + 4 > 5$ (верно), все стороны разные. Ответ: Разносторонний.