А. МАХМУДОВ О ПРОСТЫХ ЧИСЛАХ htth//speclabngmk.narod.ru В настоящей заметке предлагаются алгоритмы построения простых чисел и факторизации.Как известно, простые числа – это натуральные числа больше числа два и имеющие в качестве делителей только единицу и само это число. С целью получения ряда простых чисел рассмотрим следующую матрицу из чисел: 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120… 1 7 13 19 «25» 31 37 43 «49» «55» 61 67 73 79 «85»«91» 97 103 109«115» «121» … 2 814 20 26 32 38 44 50 56 62 68 74 80 86 92 98 104 110 116 122 … 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87 93 99 105 111 117 4 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100 106 112 118 5 11 17 23 29 «35» 41 47 53 123… 124… 59 «65» 71 «77» 83 89«95» 101 107 113 119 «125»... Будем считать строки матрицы начинающиеся с чисел 0, 1, 2, 3, 4, 5 соответственно нулевой, первой и т.д. строками. Столбец крайний слева будем считать нулевым столбцом , следующий - первым и т.д. столбцами. Нетрудно видеть, что числа Wij данной матрицы находятся в столбце с номером i и строке с номером j согласно соотношения: Wi,j = i × 6 + j . Числа нулевой, второй и четвертой строк четные числа и соответственно делятся на число два, а числа из ряда три делятся на три. Числа из первой и пятой строк, если упорядочить их совместное расположение в одном рядумножества чисел Ds по мере их возрастания будут вычисляться следующим образом: D₁ = 1, D₂ = 2, D₃ = 3, D₄ = 5, D(s +₂) = Ds+ 6 , ( s = 4,5,6, …. ).( 1 ) Назовем этот ряд чисел квазипростым рядом чисел. В первой и пятой строках приведенной матрицы находятся простые числа, а также составные, выделенные в кавычки числа. Назовем, выделенные в кавычки числа квазипростыми. Эти квазипростые числа, как видно из матрицы, представимы в виде произведения двух простых чисел или простого числа с квазипростым числом либо двух квазипростых чисел. Например, «25» = 5 × 5, « 35» = 5 × 7, «125» = 5 × 25. Рассмотрим первый и пятый ряды приведенной ранее матрицы. Формально число 1 будем считать простым числом. Введем следующие обозначения для последовательностей чисел: 1) Аm = m × 6 + 1 , ( m = 0, 1, 2,… ); 2) Вn = n × 6 + 5 ,(n = 0, 1, 2, …). (2) (3) Здесь индексы m, n определяют собой столбцы, числа 1, 5 соответственно строки матрицы. Проведем с соотношениями(2 ) и ( 3 ) в следующие преобразования: Аm = m × 6 + 1 = m × 5 + ( 1 + m ) = 5 × ( m + k ) = 5 × ( k × 6 - 1 ), ( 4 ) при ( 1 + m ) = k × 5 , причем, k - целое число , k = ( 1 + m ) ⁄ 5, (5) Вn = n × 6 + 5 = n × 5 + ( 5 + n ) = 5 × ( n + k ) = 5 × ( k × 6 - 5 ), при (6) ( 5 + n ) = k × 5, причем, k - целое число, k = ( 5 + n ) ⁄ 5. ( 7) Аm = m × 6 + 1 = ( m - l ) × 6 + ( 1 + l × 6 ) = ( l × 6 + 1 ) × ( k × 6 + 1 ), ( 8 ) при ( m - l ) = k × ( l × 6 + 1 ), причем, k, l - целые числа, k = ( m - l ) ⁄ ( l × 6 + 1 ), ( 9 ) Вn = n × 6 + 5 = ( n - l ) × 6 + ( 5 + l × 6 ) = ( l × 6 + 5 ) × ( k × 6 + 1 ), ( 10 ) при( n - l ) = k × ( l × 6 + 5 ), причем, k, l - целые числа, k = ( n - l ) ⁄ ( l × 6 + 5 ). ( 11 ) Из соотношений ( 4 ) и ( 6 ) следует, что квазипростые числа делящиеся на 5 представимы в виде произведения числа 5 на число из квазипростого ряда. Из соотношений ( 8 ) и ( 10 ) следует, что квазипростые числа представимы в виде произведения чисел из квазирядовАm и Вn. Если при подборе числа l, при вычислении целочисленного значения k, один из сомножителей в формулах ( 9 ) или ( 10 ) окажется равным единице, то это будет означать, что число простое. Из изложенного следует, следующий алгоритм решения задачи факторизации: 1) определить четным или нечетным является заданное число; 2) если заданное число четное, то выполнить деление его на 2 ; 3) если при делении на 2 получилось четное число, то повторить операцию деления на 2 до получения нечетного числа ( если это возможно ); 4) при получении нечетного числа проведем операцию деления данного числа на 6 и найдем к какой строке приведенной матрицы относится это число; 5) если при делении на 6 получен остаток равный трем , проведем операцию деления этого числа на 3 и в результате получим также нечетное число; 6) это число опять поделим на 6 ; 7) если в остатке получим число 3, то повторим деление на три; 8) если в остатке получим единицу или пять , тогда одновременно определим значение m или n этого числа из квазирядовАm или Вn; 9) если это число делится на 5 , то на основе формул ( 5 ) или ( 7 ) находим конкретное значение k, что позволит определить значение второго сомножителя в одном из соотношений ( 4 ) или ( 6 ); 10) если это число не делится на 5 , то проведем подбор числа l с целью вычисления целочисленного значения числа k по одной из формул ( 9 ) или (11 ) ; 11) если теперь, при известном m или n, один из сомножителей окажется равным единице, то имеем простое число, в противном случае будем иметь квазипростое число; 12) если число оказалось квазипростым, то с его сомножителями повторяем процедуры согласно пунктов 9), 10), 11) алгоритма; 13) процесс завершается в том случае, когда все вычисляемые числа окажутся простыми. Приведем несколько примеров для уяснения процесса факторизации. Рассмотрим числа 247, 253, 175. Для числа 247, в соответствии с предлагаемым алгоритмом, проведем следующие процедуры: 1) 247 = 41 × 6 + 1 , m = 41; 2) k = ( 41 - l ) ⁄ ( 1 + l × 6 ); 3) при l = 0, k = 41; 4) при l = 1, k = 40 / 7; 5) приl = -1, k = 42 / ( -5 ); 6) при l = 2, k = 39/13 = 3; 7) 247 = ( 2 × 6 + 1 ) × ( 3 × 6 + 1 ) = 13 × 19. Число 247 - квазипростое число и является произведением двух простых чисел. Для числа 253 проведем следующие процедуры: 1) 2) 3) 4) 5) 253 = 42 × 6 + 1, m = 42; k = ( 42 - l ) / ( l× 6 + 1 ); l = -4, k = 4; При значениях l = 1, 2, 3, 4, 5, 6, 7, … значение числа k оказывается нецелым, Число 253 = (-4*6 +1 )*(-2*6+1)=-11*-23 =11*23 квазипростое число. Для числа 175 проведем, согласно алгоритма, процедуры: 1) 2) 3) 4) 5) 175 = 29 × 6 + 1, m = 29; k = ( 29 - l ) / ( l × 6 + 1 ), l = 1, k = 4; 175 = ( 1 × 6 + 1 ) × ( 4 × 6 + 1 ) = 7 × 25; или воспользуемся тем, что 175 делится на 5, тогда, согласно ( 4 ), 175 = 29 × 5 + ( 1 + 29 ); 6) k = ( 1 + m ) / 5; 7) при m = 29 , k = 6; 8) 175 = 5 × ( 29 + 6) = 5 × 35; 9) повторяем процедуру для чисел 25 или 35; 10) 175 = 5 × 5 × 7. Таким образом, на основе ряда квазипростых чисел представляется возможным процесс факторизации свести к достаточно простому и возможно самому быстрому алгоритму.