using System; public class Operation { public static double TriangleArea(double a, double b, double c) { double p = (a + b + c) / 2; bool exists = CheckTriangle(a, b, c); if (!exists) return -1; return Math.Sqrt(p * (p - a) * (p - b) * (p - c)); } public static double TriangleArea(double a) { return TriangleArea(a, a, a); } public static bool CheckTriangle(double a, double b, double c) { if (a <= 0 || b <= 0 || c <= 0) return false; double maxSide = Math.Max(Math.Max(a, b), Math.Max(b, c)); if (maxSide >= a + b + c - maxSide) return false; return true; } public static int SolveQuadratic(int a, int b, int c, out double x1, out double x2) { double d = b * b - 4 * a * c; if (d > 0) { x1 = (-b + Math.Sqrt(d)) / (2 * a); x2 = (-b - Math.Sqrt(d)) / (2 * a); return 1; } else if (d == 0) { x1 = x2 = -b / (2 * a); return 0; } else { x1 = x2 = -1; return -1; } } }