Текст подпрограммы и версий ( Фортран )
zp13i.zip 
Тексты тестовых примеров ( Фортран )
tzp13i.zip 
Текст подпрограммы и версий ( Си )
zp13i_c.zip 
Тексты тестовых примеров ( Си )
tzp13i_c.zip 
Текст подпрограммы и версий ( Паскаль )
zp13i_p.zip 
Тексты тестовых примеров ( Паскаль )
tzp13i_p.zip 

Подпрограмма:  ZP13I

Назначение

Вычисление рациональных корней полиномов с целыми коэффициентами

Математическое описание

Подпрограмма ZP13I вычисляет M рациональных корней полинома степени N

        A(1)  +  A(2) X  + ... +  A(N + 1) XN 

с целыми коэффициентами. Ненулевые рациональные корни  pi / q i ,  i = 1, 2,..., M, размещаются в массивах P и Q соответственно

Использование

    SUBROUTINE  ZP13I (A, N, P, Q, M) 

Параметры

A - целый одномерный массив длины N + 1, содержащий заданные коэффициенты полинома в порядке возрастания степеней;
N - заданная степень полинома (тип: целый);
P, Q - целые одномерные массивы длины N + 1, содержащие вычисленные рациональные корни  pi / q i ,  i = 1, 2,..., M;
M - целая переменная, содержащая на выходе количество рациональных корней

Версии: нет

Вызываемые подпрограммы: нет

Замечания по использованию

  В некоторых случаях последний вычисленный корень может совпадать по значению с первым. Поэтому массивы P и Q должны иметь максимальную длину N + 1, а не N

Пример использования

       INTEGER A(4), P(4), Q(4) 
       DATA  A /3, 14, 3, -36/ 
       N = 3 
       CALL  ZP13I (A, N, P, Q, M) 

Результаты: 

           P   =   (-1, 3, -3), 
           Q   =   ( 3, 4,  9),  
           M   =   3