Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8

Решение уравнения 21x ^ 3 - 38x ^ 2 - 9x + 2 = 0 в рациональных числах

31.07.2016, 08:49. Показов 1170. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно доказать, что если алгебраическое уравнение имеет
рациональный корень, то его можно представить в виде p/q
Где p - делитель коэффициента при икс в нулевой степени,
а q - делитель коэффициента при икс в старшей степени.
исходя из этого и была написана программа, которая нашла
три рациональных корня x = -1/3; x = 1/7; x = 2

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
REM  
REM  21x ^ 3 - 38x ^ 2 - 9x + 2
REM 
REM  x = -1/3; 1/7; 2
REM
 
DECLARE FUNCTION f! (x!)
CLS
 
FOR m = 1 TO 21
FOR n = -2 TO 2
   IF ABS(f(n / m)) < .001 THEN PRINT n; m
NEXT n, m
END
 
FUNCTION f (x)
   f = 21 * x ^ 3 - 38 * x ^ 2 - 9 * x + 2
END FUNCTION
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.07.2016, 08:49
Ответы с готовыми решениями:

Решение уравнения в натуральных числах
Помогите пожалуйста!) Есть подсказки к написанию программы и ответ. Просьба помочь с решением) Так же просьба в ответах прислать скрины...

Решение уравнения в натуральных числах (3)
Решить в натуральных числах уравнение 2 * = программа нашла 3 решения (169, 239); (2378, 3363); (3363, 4756) REM REM 2*...

Решение уравнения в натуральных числах (2)
Решить в натуральных числах уравнение + = n = 2.5 функция эквивалентна INT(x) программа нашла 11 решений. REM REM +...

10
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
08.08.2016, 09:07
не понял в чём вопрос
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
08.08.2016, 15:13  [ТС]
Burk
Я не задал явно вопроса. Но вопрос такой.
1. Верно ли данное решение?
2. Насколько разумно это решение? То есть, может эту задачу
следует решать иным способом. Например метод половинного
деления
3. Ваше личное мнение? (Что бы вы еще могли сказать)
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
09.08.2016, 07:30
Лучший ответ Сообщение было отмечено echs как решение

Решение

geh, более быстрый метод это метод касательных, а можно еще применить комбинацию методов касательных и секущих - ещё быстрее. Это применимо для любых нелинейных уравнений.
метод касательных Xi+1 = Xi - Y/(dY/dx). Если мне не изменяет память, то надо начинать с границы участка X, где Y*(d2Y/dx2) < 0. Посмотрите в Инете

Добавлено через 1 час 33 минуты
geh, ваш код маленько странен для меня, Некие M N, а не проще ли просто пробежаться по Х и, когда найдется участок с переменой знака функции, то уточнять значение x хотя бы "половинкиным" делением?
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
09.08.2016, 08:05  [ТС]
Burk
Спасибо! Я очень Вам благодарен за ваше участие в этой
теме. Только понимаете, вопрос стоял несколько иначе.
Не просто найти корни, а найти РАЦИОНАЛЬНЫЕ корни.
То есть уравнение может иметь корни и ни одного рационального
Именно поэтому корни искались в виде p/q.
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
09.08.2016, 08:31
ну, если только рациональные, а не вещественные, тогда принимается
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
09.08.2016, 08:47  [ТС]
Burk
Я вас хорошо понял. Действительно в программировании
не различают вещественные и рациональные числа. Ибо
все числа и так рациональные, но их принято называть
вещественными. Мне надо было просто более точно
сформулировать вопрос.
"Найти корни уравнения, которые можно представить
в виде p/q, где p, q - целые числа"
Приношу Вам свои извинения. Я смотрел на это уравнение
с точки зрения математики, а не программировании. (Это мой прокол)
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
10.08.2016, 07:56
Лучший ответ Сообщение было отмечено echs как решение

Решение

geh, извиняться не за что. Могу только порекомендовать проверить другой алгоритм, который мне пришел на ум.
Возможно он будет работать быстрее.
Находим вещественные корни уравнения (тот же метод касательных, хотя для разового применения метод безразличен), потом этот корень умножаем на целое число (i=2....n) и смотрим, чтобы результат был близок к целому с определенной точностью. Вы ведь тоже находите решение с определённой точностью

Добавлено через 26 минут
Уточнение: P1 - дробная часть числа КОРЕНЬ * I
условие для рационального корня P1 < Eps or 1-P1 < Eps

Добавлено через 1 час 17 минут
geh, вопрос. А это PQ-доказательство справедливо только для кубических многочленов или для любой степени?
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
10.08.2016, 08:03  [ТС]
Burk
Спасибо! Как вы верно подметили, все вычисления
приближенные. И я тоже подумал, а что если вещественное
число обратить в рациональную дробь. Есть даже математическая
теория "цепные дроби". Но вы предложили более простой вариант.
Спасибо!

Добавлено через 4 минуты
Burk
"P/Q" - доказательство справедливо для всех
многочленов с целыми коэффициентами.
1
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
10.08.2016, 09:43
geh, и вам спасибо за расширение моих знаний, про цепные дроби я маленько знаю и тоже мелькнула мысль как-то их применить

Добавлено через 1 час 18 минут
geh, а если порассуждать далее. Корни уравнения должны лежать в интервал -P, P судя по вашему алгоритму поиска. А теперь представим себе многочлен с нецелыми коэффициентами. Можно оценить этот интервал, заменив нецелые коэффициенты целыми?
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
10.08.2016, 11:34  [ТС]
Burk
Дано уравнение https://www.cyberforum.ru/cgi-bin/latex.cgi?a_nx^n+a_{n-1}x^{n-1}+...+a_1x+a_0=0
Пусть https://www.cyberforum.ru/cgi-bin/latex.cgi?M=max(|a_{n-1}|,...,|a_1|,|a_0|)
Тогда все корни этого уравнения удовлетворяют неравенству
https://www.cyberforum.ru/cgi-bin/latex.cgi?|x_i|<\frac{M}{|a_n|}+1
примечание
Этому неравенству удовлетворяют даже модули
комплексных корней.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2016, 11:34
Помогаю со студенческими работами здесь

Решение уравнения в целых числах
Добрый день! Можно ли как то выразить переменную x в данном уравнении? x+(x\oplus(a-b))=a a и b неотрицательные целые...

Решение уравнения в целых числах
Задание: Решить уравнение в целых числах Дан пример: ax+by=c; где a=57, b=43, c=49 57x+43y=49 с=НОД(57, 49) t=1 ...

Решение уравнения в простых числах
Дано уравнение 19 * x + 22 * y + 29 * z = 700 Требуется решить его в простых числах. Собственно программа решала его в натуральных...

Решение квадратного уравнения в комплексных числах
Доброго времени суток. Помогите, пожалуйста, с программой, решающей квадратное уравнение в комплексных числах. Изначально было задание...

Найти решение уравнения в целых числах
x^2 - 8467y^2 = 1 Разобрался как решать линейные уравнения такого типа, но не могу понять как решить квадратное.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru