А51

Задача: Даны действительные числа [latex] a,b,c (a\neq 0) [/latex] . Полностью исследовать биквадратное уравнение [latex] ax^4+bx^2+c=0 [/latex] т.е если действительных корней нет, то должно быть выдано сообщение об этом, иначе должны быть выданы два или четыре корня.

Я немного усложнил задачу, добавил случай [latex] a=0 [/latex]

a b c x1 x2 x3 x4
0 0 0 R R R R
0 0 1
0 1 0 0 0 0 0
0 2 -8 2 -2
0 2 3
10 2 10
2 2 -6 1.14 -1.14
-5 22 -6 0.24 -0.54 2.09 -2.09
1 4 4
1 -4 4 1.41 -1.41

Решение:

Ссылка на ideone C++: http://ideone.com/By6f3b

Ссылка на ideone Java: http://ideone.com/fsmSvf

 

Если [latex] a\neq 0 [/latex] , то надо рассмотреть только несколько случаев: Дискриминант меньше нуля (корней нет), дискриминант больше нуля, тогда делаем замену, [latex] x^2=t>0 [/latex] и считаем [latex] t [/latex], далее проверяем будет ли [latex] t>0 [/latex]

Если добавить случай с [latex] a=0 [/latex] , то надо рассмотреть ситуации:

[latex] b=0 [/latex] , тогда если [latex] c=0 [/latex] , то корней бесконечно много, в противном случае — корней нет.

[latex] b\neq 0 [/latex] , тогда если [latex] -(c/b)>0 [/latex] , то решение есть, в противном случае под корнем отрицательное число

Related Images: