This repository contains a solution to a challenging mathematical problem.
RU
Однажды гениальный мальчик Герман решал домашнее задание по алгебре и забыл, как вычислять корни многочленов. Добрая учительница математики задала ему многочлен 6 степени в качестве примера на дом, и теперь Герман, спустя несколько мучительных часов, уже почти дойдя до аналога формулы Кардано-Феррари общего решения для многочлена 4 степени, отчаялся. К счастью, он очень увлекается информатикой и хорошо знает рекурсию, потому он решил написать код, решающий поставленную доброй учительницей математики задачу в общем случае:
Для переменной
Найти все его корни на заданном полуинтервале
Помогите Герману перестать отчаиваться и идеально решить свое домашнее задание
В первой строке программе подается число
Выведите все корни многочлена
ENG
One day, a brilliant boy named Herman was doing his algebra homework and forgot how to calculate the roots of polynomials. A kind math teacher gave him a 6th degree polynomial as a homework problem, and now Herman, after several agonizing hours, having almost reached the analogue of the Cardano-Ferrari formula of the general solution for a 4th degree polynomial, despaired. Luckily, he is very interested in computer science and knows recursion well, so he decided to write a code that solves the problem set by the kind math teacher in the general case:
For the variable
Find all its roots on the given half-interval
Help Herman stop despairing and solve his homework perfectly
The first line of the program is fed with the number
Output all roots of the polynomial
Input:
- 6
- 5 7 -4 11 -10 1 -18
- -10 10
Output:
- -2.3498288 1.10086298
Input:
- 2
- 2 -3 1
- 0.5 1
Output:
- 0.5
Input:
- 6
- 1.0 15.0 20.25 -351.0 -283.5 1458.0 1640.25
- -100 100
Output:
- -9.0 -9.0 -1.5 -1.5 3.0 3.0