沿直线 a b c 的变量求三角形的面积

find the area of ​a triangle along the variables of the straight line a b c

我有直线 ax + by + c 的输入系数。我找到 x 和 y 坐标来找到由穿过 x 和 y 轴的直线形成的直角三角形的面积。但是在测试中如果 a = 1 b = 1 c = -2 面积将是 0.5,而不是 2。

如何解决?

a = int(input())
b = int(input())
c = int(input())

y = 0*a + b + c
x = a + 0*b + c
sAbc = 1/2 * a*b
print(sAbc)

您使用的公式有误。

a = int(input())
b = int(input())
c = int(input())
area = abs((c^2)/(a*b))/2
print(area)

这个问题应该在 Math Whosebug 上问,因为数学有问题。

首先,让我们计算 y-intercept:

a*0 + b*y + c = 0
y = - c/b

(我们稍后会处理竖线和横线) 同样,我们计算 x-intercept:

a*x + b*0 + c = 0
x = - c/a

最后,区域是

# A = abs(0.5 * x * y) = abs(0.5 * (-c/a) * (-c/b)) = abs(0.5 * c * c / a / b)
A = abs(0.5 * c * c / a / b)

但是,我们需要分别处理垂直线和水平线。

if a == 0 or b == 0:
   print(0)
else:
   print(abs(0.5 * c * c / a / b))