Е9.33 которые могут быть сторонами остроугольного треугольника
В каждой строке электронной таблицы записаны три натуральных числа.
Определите сколько среди заданных троек чисел таких, которые могут быть сторонами остроугольного треугольника.
СтатГрад Вариант ИН2110101 27.10.2021– задание №9
Решение:
Ответ: 1074
Какие числа могут быть сторонами остроугольного треугольника
Регистрация: 28.04.2014
Сообщений: 3
borland C++. Даны числа: a b c. Определить, могут ли они быть сторонами треугольника, и если да, то определить его тип
заданы три числа:a b c. Определить, могут ли они быть сторонами треугольника, и если да, то определить его тип: равносторонний, равнобедренный, разностороний
# include # include # include void main () < clrscr() float a,b,c; printf("Enter a "); scanf("%f",&a); printf("Enter b "); scanf("%f",&b); printf("Enter c "); scanf("%f",&c); if((aelse printf ("Ne syshestvyet"); getch(); >
Последний раз редактировалось Stilet; 28.04.2014 в 21:23 .
Тип Треугольника
Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами. Даны три натуральных числа – стороны треугольника. Необходимо вывести одно из слов: right для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если входные числа не образуют треугольника. Почему то пишет неполное решение.
a = int(input()) b = int(input()) c = int(input()) if (a + b > c) and (c + b > a) and (a + c > b): if (a*a + b*b == c*c) or (a*a + c*c == b*b) or (c*c + b*b == a*a): print("right") elif (a*a + b*b > c*c) or (a*a + c*c > b*b) or (c*c + b*b > a*a): print("acute") elif (a*a + b*b < c*c) or (a*a + c*c < b*b) or (c*c + b*b < a*a): print("obtuse") else: print("impossible")
Отслеживать
задан 31 окт 2019 в 20:08
nikobellic nikobellic
335 6 6 золотых знаков 10 10 серебряных знаков 18 18 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Поменяй местами проверки на тупоугольный и остроугольный. В каждом тупоугольном треугольнике есть два острых угла, поэтому до проверки на тупоугольность твой код никогда не доходит - останавливается или на прямоугольном или на остроугольном.
Да и последний elif можно заменить на else.
if (a*a + b*b == c*c) or (a*a + c*c == b*b) or (c*c + b*b == a*a): print("right") elif (a*a + b*b < c*c) or (a*a + c*c < b*b) or (c*c + b*b < a*a): print("obtuse") else: print("acute")
Отслеживать
ответ дан 31 окт 2019 в 20:23
26.7k 7 7 золотых знаков 32 32 серебряных знака 49 49 бронзовых знаков
я туплю к ночи, или правда достаточно самую длинную сравнивать с суммой других?
31 окт 2019 в 20:26
Точно, спасибо! Помогло
31 окт 2019 в 20:27
@splash58 да фиг его знает, это так давно было
31 окт 2019 в 20:28
Самая длинная сторона всегда будет короче суммы двух других, это не работает)
31 окт 2019 в 20:30
@Пельмень Сплэш прав. Причем здесь сумма, если речь о теореме Пифагора?
31 окт 2019 в 20:33
a = int(input()) b = int(input()) c = int(input()) if ((a*a) + (b*b)) == c*c or ((a*a) + (c*c)) == a*a or ((a*a) + (c*c)) == b*b or ((c*c) + (b*b)) == a*a: print('rectangular') if a + b > c or a + c > b or a + c > b or c + b > a: print('acute') if a + b < c or a + c < b or a + c < b or c + b < a: print('obtuse') else: print('impossible')
Отслеживать
ответ дан 9 фев 2022 в 16:29
В текущем виде ваш ответ непонятен. Пожалуйста, нажмите править под сообщением, чтобы добавить больше подробностей, которые помогут другим понять, как он отвечает на заданный вопрос. Вы можете найти больше информации о том, как писать хорошие ответы в Справке.
9 фев 2022 в 16:44
Предлагаю использовать библиотеку sympy
from sympy.geometry import Triangle, Point t1 = Triangle(Point(0, 0), Point(4, 0), Point(4, 3)) t1.is_right() #True t1.angles # t1.angles[Point(0,0)] #acos(4/5)
Отслеживать
ответ дан 9 фев 2022 в 19:18
1,614 1 1 золотой знак 3 3 серебряных знака 13 13 бронзовых знаков
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.30.8420
Какие числа могут быть сторонами остроугольного треугольника
"ГЗМ" курс за 1 месяц до ЕГЭ
"ГЗМ" курс за 1 месяц для 10 класса
Мини-щелчок ЕГЭ 2024
Обществознание с HISTRUCTOR
История с HISTRUCTOR
Математика с математиком МГУ
Учебный год 24/25
Подготовка к ЕГЭ-2025
Подготовка 10 класс - 2025
- Главная
- Каталог задач
- Каталог заданий по ЕГЭ - Информатика БУ
- Задачи, требующие математической базы
- Задача # 54060
Тема 9 . Работа с электронными таблицами
9 .02 Задачи, требующие математической базы
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела работа с электронными таблицами
Решаем задачу:
Ошибка.
Попробуйте повторить позже
Задача 1 # 54060
Откройте файл электронной таблицы 9_7.xls, содержащей в каждой строке три натуральных числа. Определите сколько среди заданных троек чисел таких, которые могут быть сторонами остроугольного треугольника.
Вложения к задаче
Показать ответ и решение
Треугольник является остроугольным, если квадрат длины наибольшей стороны треугольника будет меньше суммы квадратов длин других двух сторон.
Тогда в ячейку D1 запишем наибольшее число с помощью =МАКС(А1:С1), в ячейку E1 наименьшее число с помощью =МИН(А1:С1), а в ячейку F1 среднее число с помощью =СУММ(А1:С1)-E1-D1.
Тогда в ячейку G1 запишем итоговую формулу:
То есть, если условие выполняется, то в соответствующую ячейку записывается 1, иначе 0. Тогда достаточно посчитать количество единиц через =СУММ(G1:G5000). Ответ 872.