Квадратно уравнени

critrate

Registered
Здравейте.Тези дни си нямах работа и реших да направя един код за квадратно уравнение.Всичко работи,но ако дискриминантата е добра. Т.е. при x1/2 нали дискриминантата се коренува.Ако числото е 36 вади 6 и се получава.Ако е 14 вади 7 и всичко е наред,но ако примерно е 12 не се получава.Идеята ми е да провери,че 12 е произведение от 4.3 и да остави 3 в корен и пред корена да излезне 2.Ама нещо не се сещам как да го направя това.
 
Разлагаш дискриминантата на множители и гледаш колко повторения има. т.е. с един for от (int)sqrt(D) до 2 включително делиш и гледаш остатъка, ако е 0 значи е делител и го записваш в масив...
А и корен втори от 14 не е 7 :D предполагам е грешка.
 
http://www.thatsgeeky.com/2011/03/prime-factoring-with-php/
Не е много оптимално. Честно да ти кажа няма да е добра идея.Имаш други опции за решаване : x1 = 1 ако сбора на членовете е нула ( май ? ? )
Формули на виет
 

Back
Горе