Скачиваний:
4
Добавлен:
09.04.2023
Размер:
53.29 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Инфокоммуникационных сетей и систем

Кафедра Защищенных систем связи

ОТЧЕТ ПО ЛАБОРТОРНОЙ РАБОТЕ №7

Алгоритмы разложения на множители

(тема отчета)

Направление/специальность подготовки

10.03.01 Информационная безопасность

(код и наименование направления/специальности)

Студенты:

(Ф.И.О., № группы) (подпись)

Преподаватель:

Кушнир Д.В.

(уч. степень, уч. звание, Ф.И.О.) (подпись)

Основная теорема арифметики.

Всякое целое число n ≥ = единственным образом может быть представлено в виде:

,

где p1,p2,…,pk – простые, (1<p1<p2<…<pk), e1,e2,…,ek-натуральные числа.

Замечание, если число делится нацело только на 1 и на себя, то такое число простое.

  1. Алгоритм разложения на множители методом «перебора».

Последовательно выполняем деление исследуемого числа n на числа: 2,3,4,5,6,7,8… - самостоятельно определить до какого числа достаточно производить такое деление. При выполнении деления можно учитывать признаки делимости на различные числа (2,3,4,5,…) для сокращения числа операций.

  1. Алгоритм разложения на множители Ферма. Этот алгоритм пытается представить 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

x2n

y=sqrt(x^2-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=x2n

y=

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=x2n

y=

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

x2n

y=sqrt(x^2-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=x2n

y=

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=x2n

y=

a=x+y

b=x−y

Соседние файлы в предмете Математические основы защиты информации