На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 159
ссылка на сообщение  Отправлено: 09.11.21 21:11. Заголовок: Задача 9-116. Богданов


Проверял двумя способами ответ и всегда разный. По теореме косинусов если проверять, то ответ 1720. Это верно. Вот код.
 
F = open("9-114.txt")
k = 0
for s in F:
a, b, c = map(int,s.split())
Cos1 = (b**2 + c**2 - a**2)/(2*b*c)
Cos2 = (a**2 + c**2 - b**2)/(2*a*c)
Cos3 = (a**2 + b**2 - c**2)/(2*a*b)
if a<b+c and b<a+c and c<a+b:
if (Cos1 < 0 and Cos2 >0 and Cos3 > 0)or\
(Cos1 > 0 and Cos2 >0 and Cos3 < 0)or \
(Cos1 > 0 and Cos2 < 0 and Cos3 > 0):
k +=1
print(k)


Но для упрощения кода нашел в литературе Свойство тупоугольного треугольника:
Любая сторона тупоугольного треугольника меньше суммы двух других сторон и больше их разности:
a < b + c;
a > b – c;
b < a + c,
b > a – c;
c < a + b;
c > a – b.
Написал код:
 
F = open("9-114.txt")
k = 0
for s in F:
a, b, c = map(int,s.split())
if a<b+c and b<a+c and c<a+b:
if (a > b - c) and\
(b > a - c) and\
(c > a - b):
k +=1
print(k)

Ответ выдает неверный. В чем ошибка во втором коде?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]







Сообщение: 12
ссылка на сообщение  Отправлено: 09.11.21 22:00. Заголовок: Берём a*a+b*b = c*c ..


Берём a*a+b*b = c*c . Помним, что гипотенуза всегда длиннее катетов (max)
а что если это неравенство?
a*a+b*b > c*c , т.е. сторона c меньше гипотенузы и стягивает "катеты" а и b, делая угол острым
a*a+b*b < c*c , т.е. сторона c меньше гипотенузы и расталкивает "катеты" а и b, делая угол тупым
ну и можно доказать, для тренировки профильной математики (кстати, через теорему косинусов)

https://youtu.be/By5Qc8JhQpY?t=46

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2120
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет