Приветствую всех, сегодня мы рассмотрим один интересный пример и как его реализовать на C#. Задание следующие необходимо реализуйте функцию для нахождения x, при котором парабола y(x)=ax2+bx+cy(x) принимает минимальное значение. Функция должна принимать неотрицательный, коэффициент a, также и , если, решение существует, вывести значение x , а иначе — вывести в консоль информацию «Не возможно». Значение a,b,c задает пользователь в консоли. Приравняв производную к нулю y(x) = 0, легко найти формулу для искомого x = — b / 2a
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
int a=Int32.Parse(Console.ReadLine()); int b=Int32.Parse(Console.ReadLine()); int c=Int32.Parse(Console.ReadLine()); try { int vr = (2 * a); vr = b / vr; double x = (double)-b / (2 * a); Console.WriteLine(x); } catch { Console.WriteLine("Не возможно"); } |
Так же можно рассмотреть, еще один вариант, в котором используется тернарный оператор.
1 2 3 4 5 |
int a=Int32.Parse(Console.ReadLine()); int b=Int32.Parse(Console.ReadLine()); int c=Int32.Parse(Console.ReadLine()); var q = a != 0 ? (-b/(2*(double)a)).ToString() : "Не возможно"; Console.WriteLine(q); |