МОЗИ_Лаб_07
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
ОТЧЕТ ПО ЛАБОРТОРНОЙ РАБОТЕ №7
Алгоритмы разложения на множители
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Студенты:
(Ф.И.О., № группы) (подпись)
Преподаватель:
Кушнир Д.В.
(уч. степень, уч. звание, Ф.И.О.) (подпись)
Основная теорема арифметики.
Всякое целое число n ≥ = единственным образом может быть представлено в виде:
,
где p1,p2,…,pk – простые, (1<p1<p2<…<pk), e1,e2,…,ek-натуральные числа.
Замечание, если число делится нацело только на 1 и на себя, то такое число простое.
Алгоритм разложения на множители методом «перебора».
Последовательно выполняем деление исследуемого числа n на числа: 2,3,4,5,6,7,8… - самостоятельно определить до какого числа достаточно производить такое деление. При выполнении деления можно учитывать признаки делимости на различные числа (2,3,4,5,…) для сокращения числа операций.
Алгоритм разложения на множители Ферма. Этот алгоритм пытается представить n=x2-y2, тогда n раскладывается на (x-y)*(x+y). Достаточно эффективен при близких сомножителях. Шаг1. Принять x=[sqrt(n)], если n=x2 , то x делитель – окончание алгоритма, иначе x=x+1 ([ … ]- обозначает взять целое). Шаг2. Если x=(n+1)/2 – n простое – окончание алгоритма, иначе вычисляем y=sqrt(x2-n). Шаг3. Если y целое, т.е. y2=x2-n,то решение найдено (n=(x+y)*(x-y)), иначе x=x+1 и переходим к шагу 2.
Задание 1. Число 1009
1009 : 2 (остаток 1) – не делится, т.к. число нечетное.
1009 : 3 (остаток 1) – не делится (сумма цифр не делится на 3)
1009 : 4 (остаток 1) – не делится, т.к. число нечетное.
1009 : 5 (остаток 4) – не делится (1009 не оканчивается на 0 или 5)
1009 : 6 (остаток 1) – не делится (не выполняются признаки делимости на 2 и 3)
1009 : 7 (остаток 1) – не делится (разность между числом десятков и удвоенным числом единиц не делится на 7)
1009 : 8 (остаток 1) – не делится, т.к. число нечетное.
1009 : 9 (остаток 1) – не делится (сумма цифр не делится на 9).
1009 : 10 (остаток 9) – не делится (число не оканчивается на 0).
1009 : 11 (остаток 8) – не делится (разность между суммой цифр, стоящих на четных местах, и суммой цифр, стоящих на нечетных местах, не делится на 11)
Дальнейший перебор не имеет смысла, так как мы провели достаточно операций, чтобы показать что число не имеет делителей от 1 до 10 и не является произведением простых чисел.
Задание. Число 53 * 53 = 2809
2809 : 2 (остаток 1) – не делится, т.к. число нечетное.
2809 : 3 (остаток 1) - не делится (сумма цифр не делится на 3)
2809 : 4 (остаток 1) - не делится, т.к. число нечетное.
2809 : 5 (остаток 4) - не делится (1013 не оканчивается на 0 или 5)
2809 : 6 (остаток 1) - не делится (не выполняются признаки делимости на 2 и 3)
2809 : 7 (остаток 2) - не делится (разность между числом десятков и удвоенным числом единиц не делится на 7)
2809 : 8 (остаток 1) – не делится, т.к. число нечетное.
2809 : 9 (остаток 1) – не делится (сумма цифр не делится на 9).
2809 : 10 (остаток 9) – не делится (число не оканчивается на 0).
2809 : 11 (остаток 4) – не делится (разность между суммой цифр, стоящих на четных местах, и суммой цифр, стоящих на нечетных местах, не делится на 11).
Разложение на множители произведено.
Задание 3.
Номер: 8
8 5920578299 252427511
Для 5920578299
x |
Х^2 |
x2−n |
|
|
76946 |
5920686916 |
108617 |
329.570 |
|
76947 |
5920840809 |
262510 |
512.357 |
|
76948 |
5920994704 |
416405 |
645.294 |
|
76949 |
5921148601 |
570302 |
755.183 |
|
76950 |
5921302500 |
724201 |
851.000 |
Т.е. x=76950, y=851. n=(76950+851)*( 76950-851)=77801*76099.
Для 252427511
k |
x=s+k |
l=x2−n |
|
a=x+y |
b=x−y |
||
0 |
6006 |
10963 |
104.704 |
6110.704 |
5901.296 |
||
1 |
6007 |
22976 |
151.578 |
6158.578 |
5855.422 |
||
2 |
6008 |
34991 |
187.058 |
6195.058 |
5820.942 |
||
3 |
6009 |
47008 |
216.813 |
6225.813 |
5792.187 |
||
4 |
6010 |
59027 |
242.954 |
6252.954 |
5767.046 |
||
5 |
6011 |
71048 |
266.548 |
6277.548 |
5744.452 |
||
6 |
6012 |
83071 |
288.220 |
6300.220 |
5723.780 |
||
7 |
6013 |
95096 |
308.376 |
6321.376 |
5704.624 |
||
8 |
6014 |
107123 |
327.296 |
6341.296 |
5686.704 |
||
9 |
6015 |
119152 |
345.184 |
6360.184 |
5669.816 |
||
10 |
6016 |
131183 |
362.191 |
6378.191 |
5653.809 |
||
11 |
6017 |
143216 |
378.438 |
6395.438 |
5638.562 |
||
12 |
6018 |
155251 |
394.019 |
6412.019 |
5623.981 |
||
13 |
6019 |
167288 |
409.008 |
6428.008 |
5609.992 |
||
14 |
6020 |
179327 |
423.470 |
6443.470 |
5596.530 |
||
15 |
6021 |
191368 |
437.456 |
6458.456 |
5583.544 |
||
16 |
6022 |
203411 |
451.011 |
6473.011 |
5570.989 |
||
17 |
6023 |
215456 |
464.172 |
6487.172 |
5558.828 |
||
18 |
6024 |
227503 |
476.972 |
6500.972 |
5547.028 |
||
19 |
6025 |
239552 |
489.440 |
6514.440 |
5535.560 |
||
20 |
6026 |
251603 |
501.600 |
6527.600 |
5524.400 |
||
21 |
6027 |
263656 |
513.474 |
6540.474 |
5513.526 |
||
22 |
6028 |
275711 |
525.081 |
6553.081 |
5502.919 |
||
23 |
6029 |
287768 |
536.440 |
6565.440 |
5492.560 |
||
24 |
6030 |
299827 |
547.564 |
6577.564 |
5482.436 |
||
25 |
6031 |
311888 |
558.469 |
6589.469 |
5472.531 |
||
26 |
6032 |
323951 |
569.166 |
6601.166 |
5462.834 |
||
27 |
6033 |
336016 |
579.668 |
6612.668 |
5453.332 |
||
28 |
6034 |
348083 |
589.985 |
6623.985 |
5444.015 |
||
29 |
6035 |
360152 |
600.126 |
6635.126 |
5434.874 |
||
30 |
6036 |
372223 |
610.100 |
6646.100 |
5425.900 |
||
31 |
6037 |
384296 |
619.916 |
6656.916 |
5417.084 |
||
32 |
6038 |
396371 |
629.580 |
6667.580 |
5408.420 |
||
33 |
6039 |
408448 |
639.099 |
6678.099 |
5399.901 |
||
34 |
6040 |
420527 |
648.480 |
6688.480 |
5391.520 |
||
35 |
6041 |
432608 |
657.729 |
6698.729 |
5383.271 |
||
36 |
6042 |
444691 |
666.851 |
6708.851 |
5375.149 |
||
37 |
6043 |
456776 |
675.852 |
6718.852 |
5367.148 |
||
38 |
6044 |
468863 |
684.735 |
6728.735 |
5359.265 |
||
39 |
6045 |
480952 |
693.507 |
6738.507 |
5351.493 |
||
40 |
6046 |
493043 |
702.170 |
6748.170 |
5343.830 |
||
41 |
6047 |
505136 |
710.729 |
6757.729 |
5336.271 |
||
42 |
6048 |
517231 |
719.187 |
6767.187 |
5328.813 |
||
43 |
6049 |
529328 |
727.549 |
6776.549 |
5321.451 |
||
44 |
6050 |
541427 |
735.817 |
6785.817 |
5314.183 |
||
45 |
6051 |
553528 |
743.994 |
6794.994 |
5307.006 |
||
46 |
6052 |
565631 |
752.084 |
6804.084 |
5299.916 |
||
47 |
6053 |
577736 |
760.089 |
6813.089 |
5292.911 |
||
48 |
6054 |
589843 |
768.012 |
6822.012 |
5285.988 |
||
49 |
6055 |
601952 |
775.855 |
6830.855 |
5279.145 |
||
50 |
6056 |
614063 |
783.621 |
6839.621 |
5272.379 |
||
51 |
6057 |
626176 |
791.312 |
6848.312 |
5265.688 |
||
52 |
6058 |
638291 |
798.931 |
6856.931 |
5259.069 |
||
53 |
6059 |
650408 |
806.478 |
6865.478 |
5252.522 |
||
54 |
6060 |
662527 |
813.957 |
6873.957 |
5246.043 |
||
55 |
6061 |
674648 |
821.369 |
6882.369 |
5239.631 |
||
56 |
6062 |
686771 |
828.716 |
6890.716 |
5233.284 |
||
57 |
6063 |
698896 |
836.000 |
6899.000 |
5227.000 |
||
k |
x=s+k |
l=x2−n |
|
a=x+y |
b=x−y |
Т.е. x=6063, y=836. n=(6063+836)*( 6063-836)=6804*5132.
Ответ: 252427511 = 7*6804*5132.
Номер: 1
1 |
5810653073 |
319066187 |
Для 5810653073
x |
Х^2 |
x2−n |
|
|
76228 |
5810707984 |
54911 |
234.330 |
|
76229 |
5810860441 |
207368 |
455.376
|
|
76230 |
5811012900 |
359827 |
599.855 |
|
76231 |
5811165361 |
512288 |
715.742 |
|
76232 |
5811317824 |
664751 |
815.322 |
|
76233 |
5811470289 |
817216 |
904.000 |
Т.е. x=76233, y=904. n=(76233+904)*( 76233-904)=77137*75329.
Для 319066187
k |
x=s+k |
l=x2−n |
|
a=x+y |
b=x−y |
||
0 |
5386 |
2979 |
54.580 |
5440.580 |
5331.420 |
||
1 |
5387 |
13752 |
117.268 |
5504.268 |
5269.732 |
||
2 |
5388 |
24527 |
156.610 |
5544.610 |
5231.390 |
||
3 |
5389 |
35304 |
187.893 |
5576.893 |
5201.107 |
||
4 |
5390 |
46083 |
214.669 |
5604.669 |
5175.331 |
||
5 |
5391 |
56864 |
238.461 |
5629.461 |
5152.539 |
||
6 |
5392 |
67647 |
260.090 |
5652.090 |
5131.910 |
||
7 |
5393 |
78432 |
280.057 |
5673.057 |
5112.943 |
||
8 |
5394 |
89219 |
298.695 |
5692.695 |
5095.305 |
||
9 |
5395 |
100008 |
316.240 |
5711.240 |
5078.760 |
||
10 |
5396 |
110799 |
332.864 |
5728.864 |
5063.136 |
||
11 |
5397 |
121592 |
348.700 |
5745.700 |
5048.300 |
||
12 |
5398 |
132387 |
363.850 |
5761.850 |
5034.150 |
||
13 |
5399 |
143184 |
378.396 |
5777.396 |
5020.604 |
||
14 |
5400 |
153983 |
392.406 |
5792.406 |
5007.594 |
||
15 |
5401 |
164784 |
405.935 |
5806.935 |
4995.065 |
||
16 |
5402 |
175587 |
419.031 |
5821.031 |
4982.969 |
||
17 |
5403 |
186392 |
431.731 |
5834.731 |
4971.269 |
||
18 |
5404 |
197199 |
444.070 |
5848.070 |
4959.930 |
||
19 |
5405 |
208008 |
456.078 |
5861.078 |
4948.922 |
||
20 |
5406 |
218819 |
467.780 |
5873.780 |
4938.220 |
||
21 |
5407 |
229632 |
479.199 |
5886.199 |
4927.801 |
||
22 |
5408 |
240447 |
490.353 |
5898.353 |
4917.647 |
||
23 |
5409 |
251264 |
501.262 |
5910.262 |
4907.738 |
||
24 |
5410 |
262083 |
511.940 |
5921.940 |
4898.060 |
||
25 |
5411 |
272904 |
522.402 |
5933.402 |
4888.598 |
||
26 |
5412 |
283727 |
532.660 |
5944.660 |
4879.340 |
||
27 |
5413 |
294552 |
542.726 |
5955.726 |
4870.274 |
||
28 |
5414 |
305379 |
552.611 |
5966.611 |
4861.389 |
||
29 |
5415 |
316208 |
562.323 |
5977.323 |
4852.677 |
||
30 |
5416 |
327039 |
571.873 |
5987.873 |
4844.127 |
||
31 |
5417 |
337872 |
581.267 |
5998.267 |
4835.733 |
||
32 |
5418 |
348707 |
590.514 |
6008.514 |
4827.486 |
||
33 |
5419 |
359544 |
599.619 |
6018.619 |
4819.381 |
||
34 |
5420 |
370383 |
608.590 |
6028.590 |
4811.410 |
||
35 |
5421 |
381224 |
617.433 |
6038.433 |
4803.567 |
||
36 |
5422 |
392067 |
626.152 |
6048.152 |
4795.848 |
||
37 |
5423 |
402912 |
634.753 |
6057.753 |
4788.247 |
||
38 |
5424 |
413759 |
643.241 |
6067.241 |
4780.759 |
||
39 |
5425 |
424608 |
651.619 |
6076.619 |
4773.381 |
||
40 |
5426 |
435459 |
659.893 |
6085.893 |
4766.107 |
||
41 |
5427 |
446312 |
668.065 |
6095.065 |
4758.935 |
||
42 |
5428 |
457167 |
676.141 |
6104.141 |
4751.859 |
||
43 |
5429 |
468024 |
684.122 |
6113.122 |
4744.878 |
||
44 |
5430 |
478883 |
692.013 |
6122.013 |
4737.987 |
||
45 |
5431 |
489744 |
699.817 |
6130.817 |
4731.183 |
||
46 |
5432 |
500607 |
707.535 |
6139.535 |
4724.465 |
||
47 |
5433 |
511472 |
715.172 |
6148.172 |
4717.828 |
||
48 |
5434 |
522339 |
722.730 |
6156.730 |
4711.270 |
||
49 |
5435 |
533208 |
730.210 |
6165.210 |
4704.790 |
||
50 |
5436 |
544079 |
737.617 |
6173.617 |
4698.383 |
||
51 |
5437 |
554952 |
744.951 |
6181.951 |
4692.049 |
||
52 |
5438 |
565827 |
752.214 |
6190.214 |
4685.786 |
||
53 |
5439 |
576704 |
759.410 |
6198.410 |
4679.590 |
||
54 |
5440 |
587583 |
766.539 |
6206.539 |
4673.461 |
||
55 |
5441 |
598464 |
773.604 |
6214.604 |
4667.396 |
||
56 |
5442 |
609347 |
780.606 |
6222.606 |
4661.394 |
||
57 |
5443 |
620232 |
787.548 |
6230.548 |
4655.452 |
||
58 |
5444 |
631119 |
794.429 |
6238.429 |
4649.571 |
||
59 |
5445 |
642008 |
801.254 |
6246.254 |
4643.746 |
||
60 |
5446 |
652899 |
808.021 |
6254.021 |
4637.979 |
||
61 |
5447 |
663792 |
814.734 |
6261.734 |
4632.266 |
||
62 |
5448 |
674687 |
821.393 |
6269.393 |
4626.607 |
||
63 |
5449 |
685584 |
828.000 |
6277.000 |
4621.000 |
||
k |
x=s+k |
l=x2−n |
|
a=x+y |
b=x−y |