Дано действительное число a и натуральное n. Вычислите корень n-й степени из числа a.
Для решения используйте метод деления отрезка пополам.
Число a – действительное, неотрицательное, не превосходит 1000, задано с точностью до 6 знаков после запятой. Число n – натуральное, не превосходящее 10.
Программа должна вывести единственное число: ответ на задачу с точностью не менее 6 знаков после запятой.
Ввод Вывод 2 2 1.4142135623730951
Важное замечание о структуре программы
Программа должна содержать функцию double f(double x)
, возвращающее значение функции, корень которой
ищется.
Программа должна содержать функцию double solve(double left, double right)
, которая должна возвращать
корень функции f
на отрезке [left;right]
.
Функция solve
не должна использовать никакой специфической информации относительно свойств функции
f
, она должна работать для любой непрерывной функции f
и любого отрезка.
Параменты a и n, необходимые для вычисления функции f
необходимо объявить глобальными переменными.
Функция main
должна считать значения a и n и вызвать функцию solve
для некоторого интервала для поиска корня функции.
Программа должна содержать функцию double f(double x)
, возвращающее значение функции, корень которой
ищется.
Важное замечание о структуре программы
Программа должна содержать функцию double df(double x)
, возвращающую производную функции, корень
которой ищется.
Программа должна содержать функцию double solve(double start)
, которая должна возвращать
корень функции, найденный методом касательных, start
– начальная точка для поиска корня.
Функция solve
не должна использовать никакой специфической информации относительно свойств функции
f
, она должна работать для любой дифференцируемой функции f
и любой начальной точки.
Параменты a и n, необходимые для вычисления функции f
необходимо объявить глобальными переменными.
Решите предыдущую задачу используя метод касательных.
Функция main
должна считать значения a и n и вызвать функцию solve
для некоторой начальной точки.
Даны четыре действительных числа: A, B, C, D. Найдите все корни уравнения Ax3+Bx2+Cx+D=0. Известно, что все корни этого уравнения не превосходят по абсолютной величине 1000. Известно, что любые два корня этого уравнения различаются не менее, чем на 10-6.
Программа получает на вход четыре действительных числа: A, B, C, D. Любые из этих четырех чисел, но не все одновременно, могут быть равны 0.
Программа должна вывести от 0 до 3 действительных чисел: корни данного уравнения в порядке возрастания. Кратные корни должны быть выведены только один раз. Значения корней необходимо выводить с точностью до 6 знаков после точки.
Ввод Вывод 1 -2 1 0 0 1