Закон:
c 2 = a 2 + b 2 - 2abcos (C)
Изменение порядка:
cos (C) = (a 2 + b 2 - c 2 ) / 2ab
C = cos -1 [(a 2 + b 2 - c 2 ) / 2ab]
Так почему вы используете Math.Cos вместо Math.Acos?
В любом случае, это одна из ваших ошибок, как говорили другие, выиспользование числа с плавающей запятой, поэтому сравнение на равенство является ошибкой из-за ошибок округления.
Кроме того, вам не нужно переводить обратно в градусы 180 градусов == пи радианы.
Кроме того, вам просто нужно сравнить длины сторон.В истинном треугольнике длина одной стороны всегда меньше суммы длин других сторон (см. Ответ Роулинга).Я подозреваю, что ваша формула, вероятно, даст NaN в качестве ответа для не треугольника, потому что вы в конечном итоге попытаетесь взять cos -1 числа, не входящего в диапазон [-1 .. 1].т.е.
(a 2 + b 2 - c 2 ) / 2ab> 1 или <-1 </p>
InЯ подозреваю, что условия для приведенной выше формулы находятся в нужном диапазоне именно тогда, когда
c <= a + b </p>