|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.su/lib_na/cat/pa/pa13i.htm
Дата изменения: Thu Nov 26 12:36:20 2015 Дата индексирования: Sat Apr 9 23:58:30 2016 Кодировка: Windows-1251 |
|
Текст подпрограммы и версий ( Фортран ) pa13i.zip |
Тексты тестовых примеров ( Фортран ) tpa13i.zip |
|
Текст подпрограммы и версий ( Си ) pa13i_c.zip |
Тексты тестовых примеров ( Си ) tpa13i_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) pa13i_p.zip |
Тексты тестовых примеров ( Паскаль ) tpa13i_p.zip |
Разложение полинома с целыми коэффициентами на линейные множители с целыми коэффициентами.
Пусть задан полином степени N с целыми коэффициентами:
A1 XN + A2 XN-1 + ... + AN X + AN+1
Подпрограмма PA13I находит M линейных множителей Ui x + Vi, i = 1, 2, ..., M, с целыми коэффициентами, а также наибольший общий делитель C коэффициентов Ai, i = 1, 2, ..., N + 1.
Сначала находятся все делители P коэффициента A1 и все делители Q коэффициента AN . Затем составляются всевозможные пары из найденных P и Q и проверяется, не является ли двучлен PX - Q множителем исходного полинома. Значения коэффициентов Ai не сохраняются.
SUBROUTINE PA13I (A, N, U, V, M, C)
Параметры
| A - | целый одномерный массив длины N + 1, в котором задаются коэффициенты исходного полинома в порядке убывания степеней; исходные значения массива A не сохраняются; |
| N - | заданная степень исходного полинома (тип: целый); |
| U, V - | целые одномерные массивы длины N, в которых размещаются вычисленные коэффициенты всех линейных множителей; |
| M - | целая переменная, значение которой полагается равной количеству найденных линейных множителей; |
| C - | целая переменная, значение которой полагается равной наибольшему общему делителю коэффициентов исходного полинома. |
Версии: нет
Вызываемые подпрограммы: нет
Замечания по использованию: нет
INTEGER A(4), U(4), V(4), C
DATA A /6, -58, 156, -80/
N = 3
CALL PA13I (A, N, U, V, M, C)
Результаты:
U = (1, 1, 3)
V = (4, 5, 2)
M = 3
C = 2