Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
Alexandri
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 46
#1

Как найти рациональные корни полинома? - C++

15.10.2012, 09:35. Просмотров 2260. Ответов 10
Метки нет (Все метки)

Ломаю голову уже пару дней, не могу понять теорему к решению этой задачи.
Найти все рациональные корни полинома n-й степени с целыми коэффициентами f(x)=2*x^2+7*x^3-12*x^2-38*x+21.


Теорема. Для того чтобы несократимая дробь p/q была корнем уравнения an (q!=0) xn + an-1 xn-1 + ... + a0 = 0 с целыми коэффициентами, необходимо, чтобы число р было делителем свободного члена а0, а число q – делителем старшего коэффициента an (причем q¹0 и an¹0).
Если уравнение имеет целые коэффициенты, а старший коэффициент равен единице (т.е. аn=1), то рациональными корнями этого уравнения могут быть только целые числа, которые являются делителями свободного члена а0.
сам код программы я понимаю, пример предоставлен в задании, но с теоремой до конца разобраться не могу(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2012, 09:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как найти рациональные корни полинома? (C++):

Найти рациональные корни полинома! - C++
Ребят помогите плс написать код.Ломаю голову уже оч давно((((не выходит. Условие такое: Найти все рациональные корни полинома n-й...

Задана функция x^3 (частный случай кубического полинома). Найти корни. - C++
Задана функуия x^3 (частный случай кубического полинома). Найти корни. При условии: 1) Коэфициенты действительные. 2) Коэфициенты...

Как найти все корни уравнения? - C++
Программа находит решение уравнения методом деления отрезка пополам. Но на выходе я получаю только один корень, а по хорошим их >1. Как...

Найти корни уравнений ax^3+bx^2+cx=0 и y^3-ay^2-b=0, используя процедуру. Есть ли у этих уравнений совпадающие корни? - C++
Помогите пожалуйста решить данную задачу, на тему программирование с использованием процедур. Просто сам не врубаюсь(

Найти корни уравнения - C++
Написать программу, которая находит корни уравнения e^x=x+2 с погрешностью 10^-10. Заранее благодарен.

Найти комплексные корни - C++
Доброго времени суток. Помогите решить:A*X(в квадрете X)+B*X+C=0/Найти комплексные корни этих уравнений. А,В,С- числа, которые надо...

10
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
15.10.2012, 09:54 #2
a0 - свободный коэффициент. Его делители: p0=1, p1, p2, ... , pk=a0
an - коэффициент при степени n. Его делители: q0=1, q1, q2, ... , qm=an
Корни искать среди чисел: http://www.cyberforum.ru/cgi-bin/latex.cgi?\pm \frac{{p}_{i}}{{q}_{j}}, i\in [0, k], j\in [0, m]
Но так можно найти только корни среди рациональных чисел, если есть действительные корни, так их найти не получится.
0
Alexandri
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 46
15.10.2012, 09:58  [ТС] #3
Примитивный вопрос, но все же, если действительные корни есть, то как найти?
0
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
15.10.2012, 10:02 #4
Самый тупой способ - найти корень на интервале [a, b] проверить все значения x с шагом dx, и сравнить |y(x)| < eps
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
15.10.2012, 10:05 #5
doctor_lecter, зачем? Теорема же не просто так дана. Надо найти все делители старшего и младшего коэффициентов и попробовать каждую из комбинаций числитель/знаменатель на то, является ли она корнем.
0
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
15.10.2012, 10:18 #6
silent_1991, это подходит только для рациональных корней, для действительных этот способ не работает. Пример x^2+2x-2. тут корни -1+-sqrt(3), среди чисел +-1, +-2 корней нет.
1
silent_1991
15.10.2012, 10:41
  #7

Не по теме:

doctor_lecter, да, не заметил, что вопрос про действительные...

0
Байт
Нарушитель
Эксперт C
16674 / 10935 / 1676
Регистрация: 24.12.2010
Сообщений: 21,315
15.10.2012, 10:47 #8
Не понял о чем разговор
Цитата Сообщение от Alexandri Посмотреть сообщение
Найти все рациональные корни
Alexandri, а по поводу теоремы обращайтесь в подфорум "Математика - Алгебра"
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
15.10.2012, 10:50 #9
Байт,
Цитата Сообщение от Alexandri Посмотреть сообщение
Примитивный вопрос, но все же, если действительные корни есть, то как найти?
Либо ТС опечатался, либо дополнительно интересуется про действительные.
0
Байт
Нарушитель
Эксперт C
16674 / 10935 / 1676
Регистрация: 24.12.2010
Сообщений: 21,315
15.10.2012, 11:04 #10
Цитата Сообщение от silent_1991 Посмотреть сообщение
дополнительно интересуется про действительные.
Но это уже совсем другой вопрос, другая тема.
Впрочем, если и впрямь интересно, то в данном случае я бы посоветовал воспользоваться формулой Кардано. Для степени 4 тоже есть формула. А вот дальше, как показал тов.Галуа, общего решения в квадратурах нету. Но можно применить способ, предложенный в посте #4 doctor_lecter для приблизительного нахождения корней. Впрочем, ни одна из существующих ЭВМ точного значения иррационального корня вычислить не в состоянии ни по какой формуле, и в ближайшем будущем появление таких ЭВМ не предвидится
1
Alexandri
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 46
15.10.2012, 11:39  [ТС] #11
спасибо, учту на будущее куда обращаться)
и за помощь тоже спасибо)
разобралась)
0
15.10.2012, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2012, 11:39
Привет! Вот еще темы с ответами:

Найти корни уравнения - C++
f(x)=6x4+19x3-7x2-26x+12=0

Найти корни уровнения - C++
Здравствуйте, как изобразить такое уравнение в программе (смтр. скрин)?

Найти корни уравнения - C++
Здравствуйте, хотел попросить добрых людей о помощи с написанием совсем простейшей программы, функция которой - возведение числа &quot;x&quot; в...

Найти корни уравнения - C++
найти корни уравнения f(x)=2x^3-3x^2-3x+2=0


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.