信息安全与数学基础-笔记-①整数的可除性
创始人
2024-05-29 06:42:18
0

知识目录

  • 整除
  • 素数
  • 带余除法
  • 最大公因数(欧几里德算法)
  • 裴蜀等式
  • 最小公倍数
  • ❀标准分解式❀
    • 标准分解式求最大公因数
    • 标准分解式求最小公倍数

整除

  • a = bq
    公式表达的意思:b整除a,a可被b整除
    用符号表示:b | a
    否则:a不能被b整除的话用下面这个符号
    在这里插入图片描述
  • 注意的点:
    0是任何数的倍数
    1是任何数的因子
    一个数的本身即是自己的倍数,又是自己的因子

在该表达方式中

  • ①正负都适用:因为能否整除这件事情就不受正负影响
  • ②传递关系:a | c , c | b => a | b
    解释:整除之间的关系,因为a能整除c,并且c能整除b,a>c>b那么a必然能整除b
    举例:2,4,8就是对应这样一种关系
  • ③独立规则:p | ab => p | a 或者 p | b
    解释:显而易见,整除之间玩的就是倍数的关系,既然ab能被整除,所以ab之间必然有个与p是倍数关系,倍数再乘以一个无关要紧的数字,其本质就是将一个p的倍数再乘以一个倍数的意思。
  • ④运算关系: c | a , c | b => c | a+b 或者c | a-b
    解释:因为c能整除a / b,那么也就是说c与ab都有倍数关系,所以当我们将两个与c有倍数关系的进行相加减其最后的结果肯定也是与c车呈倍数关系。本质就是倍数之间的运算。

素数

  • 1既不是素数也不是合数(合数:就是除了1和素数之外都是合数,在自然数中大部分都是合数)
  • 素数的判断规则:
    在这里插入图片描述
    我们要判断一个n数字是否能被范围内[2,n\sqrt nn​] 的素数整除,如果都不能则就是素数。
    所以步骤就是:1:求出n\sqrt nn​,然后计算n是否能被[2,n\sqrt nn​] 区间内的素数整除,如果都不能就表示是一个素数。
    注意:这里很容易搞混,p和n到底谁是我要判断的数字?我们事实上要判断的是n是否为素数,所以是把n缩小范围,然后求2-n\sqrt nn​内是素数的数能否整除n就能够足以判断出n是否为素数。当然在编程的时候我经常直接判断该范围内的数字都不能整除n就表示为n是素数。
    所以n是我们要判断是否为素数的数字,p是我们找的用来判断是否是整除n的素数数字而已。

带余除法

  • 定理如下:
    在这里插入图片描述
    r 是余数,也就是a 被 b 除 余数为r
    解释:该定理引出了后面要介绍的欧几里得算法。

最大公因数(欧几里德算法)

在编程中求数之间的最大公因数一般用名字为:gcd(num1,num2…)的函数进行求解。

  • 最大公因数表达形式:(a,b)= num
    用括号表示数字之间的最大公因数为num,当num = 1的时候,即最大公因数为1时,我们称括号内的数字为互素(并不是说这里的数字为素数,只是说他们之间是互素关系)
  • 互素关系在信息安全与数学基础后面的应用非常重要
    (a1,a2,a3…an)= 1称a1,a2,a3…an互素。注意的是,这不是两两互素,与两两互素关系不一样,而是括号内所有数字之间都互素。

  • 因子规则:若 a | b 则 (a,b) = a
  • 0规则: (0,b) = b
  • 倍数规则:3(a,b) = (3a,3b)
  • 传递规则:(a,b) = d, (d, c) = e => (a,b,c) = e
  • 排他规则:已知c | ab 若(a,c) = 1 => c | b
    解释:a与c是互素的,很明显只有c能整除b才符合c | ab
  • 缩减规则:d | a, d | b ,则可以 ↓
    在这里插入图片描述
    通过上述可以得出:ab同时除以他们的最大公因数时,也就是代表着他们共同能够被整除的数字已经去除掉了,因此他们变成互素,最大公因数为1
    在这里插入图片描述

  • 如何求最大公因数
    ①短除法
    最后最大公因数就是2 × 3 = 6
    在这里插入图片描述

② 欧几里德算法(也称:辗转相除法)
在带余除法中:a = qb + c
其中:(a,b) = (b,c)
因此利用该特性,一直循环到c = 0的时候,上一条公式的c即算出了他们的最大公因数。
例子:(173,46) = 2
在这里插入图片描述

裴蜀等式

将欧几里德算法逆向迭代回去即裴蜀等式。
若: (a,b) = sa+tb,其中s和t就是我们使用了欧几里德算法后,再逆向迭代回去得出的s和t,用来表示ab的线性关系。
举例:
在这里插入图片描述

  • 当ab互素的时候,就有:sa + tb = 1

最小公倍数

当m为给出的数字的倍数,并且是这些数字中能写出的倍数之中最小的称为最小公倍数。
如何求最小公倍数?

  • ①使用短除法后,2 × 3 × 28 × 15 = 2520,相比找最大公因数就是再多乘了两个数
    在这里插入图片描述
  • ②当给出的数字互素时候,那么最小公倍数就是这些数字相乘
    比如:(a,b,c) = 1, [a,b,c] = a×b×c
  • ③设: a , b, 最大公因数为:(a,b)
    在看上面的短除法中,其实是a,b都除了一个最大公因数,所以相当于除了两次最大公因数,但是最后又是将其2 和 3也算进去了,也就是说一共除了一次最大公因数,因此回到第三种方法的时候就是相当于总结了前面两种方法,直接将原来的两个数字出除一次最大公因数就是最小公倍数的结果。
    在这里插入图片描述

❀标准分解式❀

例子:
100 = 2 × 2 × 5 × 5 = 222^222×525^252
45 = 3 × 3 × 5 = 323^232515^151
这就是将一个数分解为标准分解式
计算技巧:从2开始除,能一直除2就一直除,除不了就除3除4…以此类推,最后再统计每个数字出现的次数,次数就是该数字的次方。该数字出现0次的时候也将其算进去,也就是n0n^0n0。

标准分解式求最大公因数

以上述的100和45为例子,求(100, 45) = ?
计算出这两个数的标准分解式
100 = 222^222×303^030×404^040×525^252
45 = 202^020×323^232×404^040515^151
最大公因数就是找出每个数字对应标准分解式中:100中的2为底数的次方数为2,45中的2为底数的次方数为0,我们选择最小的次方数作为结果的乘积,同理100和45二者中,底数3最小的次方数也是0,4也是0,5是1,
所以100和45最大公因数为:202^020×303^030×404^040×515^151 = 5

标准分解式求最小公倍数

计算出这两个数的标准分解式
100 = 222^222×303^030×404^040×525^252
45 = 202^020×323^232×404^040515^151
最小公倍数和最大公因数正好相反,最大公因数在找数字作为乘积的时候是找次方数最小的那一个,那么在最小公倍数中我们要找的便是次方数最大的那个作为乘积。
最大公倍数:222^222×323^232×404^040×525^252 = 900

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...