
Написать программу решения уравнения ах3 + Ьх = 0 для произвольных а, Ь. C#


Ответы на вопрос

using System;
using System.Collections.Generic;
public class Task
{
public static void Main()
{
//Два вещественных числа на одной строке с любым числом пробелов
Console.WriteLine("Введите коэффициенты a, b:");
var s = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
double a = Convert.ToDouble(s[0]);
double b = Convert.ToDouble(s[1]);
Console.WriteLine("Решения уравнения ({0})*x^3+({1})*x=0:", a, b);
//a*x^3+bx=0
//x(a*x^2+b)=0
//x = 0 или x = +-sqrt(-b/a)
List<double> roots = new List<double>();
roots.Add(0);
const double eps = 1e-7; //точность для сравнения с нулем вещественных чисел
if (Math.Abs(a) < eps)
{
if (Math.Abs(b) < eps)
{
Console.WriteLine("Бесконечное количество решений");
return;
}
}
else
{
double c = -b/a;
if (c > eps)
{
c = Math.Sqrt(c);
roots.Add(-c);
roots.Add(c);
}
}
foreach(var x in roots)
{
Console.Write("{0} ", x);
}
Console.WriteLine();
}
}



Конечно! Вот пример программы на C#, которая решает уравнение вида ax^3 + bx = 0 для произвольных a и b:
csharpusing System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите значение a:");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите значение b:");
double b = Convert.ToDouble(Console.ReadLine());
// Проверяем, является ли уравнение тривиальным
if (a == 0 && b == 0)
{
Console.WriteLine("Бесконечное количество решений.");
}
else if (a == 0)
{
Console.WriteLine("Нет решений.");
}
else
{
double x1 = 0; // Первый корень
double x2 = 0; // Второй корень
double x3 = 0; // Третий корень
// Вычисляем корни уравнения
if (b == 0)
{
x1 = 0;
x2 = 0;
x3 = 0;
}
else
{
double discriminant = -b / a;
if (discriminant < 0)
{
Console.WriteLine("Нет реальных корней.");
}
else if (discriminant == 0)
{
x1 = 0;
x2 = 0;
x3 = 0;
}
else
{
double cubeRoot = Math.Pow(Math.Abs(discriminant), 1.0 / 3.0);
x1 = cubeRoot;
x2 = -cubeRoot;
x3 = 0;
}
}
// Выводим результаты
Console.WriteLine("Корни уравнения:");
Console.WriteLine($"x1 = {x1}");
Console.WriteLine($"x2 = {x2}");
Console.WriteLine($"x3 = {x3}");
}
Console.ReadLine();
}
}
Программа запрашивает значения a и b у пользователя, а затем вычисляет корни уравнения. В случае тривиального уравнения (a = 0 и b = 0) программа сообщит о бесконечном количестве решений. Если a = 0, то уравнение не имеет решений. В остальных случаях программа вычислит корни уравнения и выведет их на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili