24. о простых числах

advertisement
А. МАХМУДОВ
О ПРОСТЫХ ЧИСЛАХ
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.
Таким образом, на основе ряда квазипростых чисел представляется возможным процесс
факторизации свести к достаточно простому и возможно самому быстрому алгоритму.
Download