#创作计划#数学讲解第二期-整数与整除2
2025-08-19 09:44:43
发布于:上海
紧接上回(没看过的可以去我主页看第一期),我还讲剩下公因数与最大公因数以及公倍数与最小公倍数、因数个数定理(此为拓展,校内不讲)、因数和定理(此为拓展,校内不讲)以及一些关于这些内容的定理或公理。
在讲之前,我先给大家道个歉,最近遇到些瓶颈,加上AC君给我的第一期帖子提了一些改进意见,我还在学acgo的文章排版,并且某些人一天到晚找我催更,这就导致两次没有更新,敬请谅解!
以下为讲解部分:
一.公因数与最大公因数
1.公因数:几个整数共有的因数。
我们老师讲的时候类比了一下公共厕所
2.最大公因数:公因数中最大的一个。a与b的最大公因数,记作(a,b)。
3.互素(也叫互质):若两个整数只有公因数1,称这两个数互素。
即若(a,b)=1,则a与b互素。
互素的一些公理:
(1)两个不同的素数一定互素
(2)相邻的两个正整数互素
(3)1与任何正整数都互素
4.求两个数的最大公因数方法
(1)枚举大法(如果你用的话很浪费时间)
(2)分解素因数法
例:求18和30的最大公因数
解:
18=2 3 3(如你所见我终于开始用LaTeX了)
30=2 3 5
然后我们找18与30共同的素因数,就是2和3,将其相乘等于6,所以(18,30)=6。
(3)短除法
解:
2|18 30
——————
3|9 15
——————
%%3 5
如果你读过上期帖子,应该知道%为占位符,无需管它。
所以我们把竖线左边相乘,就可得(18,30)=2 3=6。
(4)偷鸡法
若两个正整数存在倍数关系,则它们的最大公因数为较小的数。
即若a=bx,则(a,b)=b(a、b、x为正整数)
这里附上求两个数最大公因数的函数:
int f(int a,int b)//还是懒得起英文名
{
while(b!=0)
{
int t=b;
b=a%b;
a=t;
}
return a;
}
5.最大公因数的一些定理
(1)两个素数的最大公因数为1
(2)两个互素的数最大公因数为1
(3)公因数是最大公因数的因数(简记:因因因)
6.三个数的最大公因数
方法:短除法(枚举大法也不是不行)
例:求132,60,36的最大公因数
解:
2|132 60 36
———————
2|66 30 18
———————
3|33 15 9
———————
%%11 5 3
备注:这里除到3个商互素为止
我们还是把左边乘起来,所以(132,60,36)=2 2 3=12。
(这里的代码还在研究中,暂时不附上去)
二.公倍数与最小公倍数
1.公倍数:几个整数共有的倍数。
2.最小公倍数:公倍数中最大的一个。a与b的最大公倍数,记做[a,b]。
3.短除定理:两个数的乘积等于它们的最大公因数与最小公倍数的乘积,记作ab=(a,b)*[a,b]。
4.求两个数的最小公倍数方法
(1)枚举大法(如果你用的话很浪费时间)
(2)分解素因数法
例:求4和6的最小公倍数
解:
4=2 2
6=2 3
然后我们找4与6共同的素因数,就是2,这个时候我们把剩余的素因数乘起来,就可以得到2 2 3=12,所以[4,6]=12。
(3)短除法
解:
2|4 6
——————
%%2 3
如果你读过上期帖子,应该知道%为占位符,无需管它。
我们把竖线左边和最下面相乘,就可得[4,6]=2 3 3=12。
(4)偷鸡法
若两个正整数存在倍数关系,则它们的最小公倍数为较大的数。
即若a=bx,则[a,b]=a(a、b、x为正整数)
这里附上求两个数最小公倍数的函数:
注:根据短除定理,我们可以使用偷鸡大法:
int f(int a,int b)//最大公因数
{
while(b!=0)
{
int t=b;
b=a%b;
a=t;
}
return a;
}
int g(int a,int b)//最小公倍数
{
return a*b/f(a,b);//根据短除定理可得
}
5.最小公倍数的一些定理
(1)两个素数的最小公倍数为两数乘积
(2)两个互素的数最小公倍数为两数乘积
(3)公倍数是最小公倍数的倍数(简记:倍倍倍)
6.三个数的最小公倍数
方法:短除法(枚举大法也不是不行)
例:求12,24,16的最小公倍数
解:
2|12 24 16
———————
2|6 12 8
———————
2|3 6 4
———————
3|3 3 2
———————
%1 1 2
备注:这里除到3个商两两互素为止
我们还是把左边和下面乘起来,所以[12,24,16]=2 2 2 3 2=48。
(这里的代码还在研究中,暂时不附上去)
三.因数个数定理(此为拓展,校内不讲,在压轴题里非常好用)
方法:
1.分解素因数,并使用幂的形式
2.指数加1
3.连乘
举个例子:求出36的因数个数
【解析】根据上面方法,先分解素因数:36=2 2 3 3=,然后把指数加一就是2个3次,最后连乘就是3 3=9,所以36有9个因数。
【答案】9个
注:因数个数定理以及下面的因数和定理要考的话不会考你这么简单的两位数,出题的话是4位数起步。
四.因数和定理(此为拓展,校内不讲,在自招的4星难题里非常好用)
注意上面括号里是自招不是压轴,而且是4星难题(我们这里对自招难题的评价是一共5星,4星能干掉80%~85%的学生),可见因数和定理比因数个数定理好用的多。
方法:
1.分解素因数,并使用幂的形式
2.项分别降幂相加
3.连乘
举个例子:求出36的所有因数之和
【解析】根据上面方法,先分解素因数:36=2 2 3 3=,然后把项分别降幂相加就是:还有,分别计算求出7和13,最后将它们相乘,得到7 13=91,即36的所有因数之和为91。
【答案】91
我终于补完了!!!
和上期一样,有问题敬请指正!
(说到这里再感谢一下陈奕帆和lexora_以及忘川秋库,帮我指正了上期的错误。)
全部评论 16
@陈奕帆(求互关)@忘川秋裤@AAA秋褲批發lexora_哥我终于写完了,麻烦再检查一下(我终于用上LaTeX了)
2025-08-19 来自 上海
12025-08-19 来自 浙江
0
2025-08-09 来自 上海
1LATEX修一下
2025-08-09 来自 浙江
0你这样纯markdown肯定是不行的
2025-08-09 来自 浙江
0想发数学帖子肯定是去要学LATEX的
2025-08-09 来自 浙江
0
d
2025-08-22 来自 上海
0d
2025-08-21 来自 上海
0基本运算符和符号
加法与减法:+ 和 - 直接使用键盘上的字符。
乘法:星号 (用于公式中)或 \ (用于显示乘号)。(a \times b \quad)
除法:斜杠 / 或 \div。\frac{a}{b} \quad 或 \quad a \div b
等于:=。a = b
不等于:\neq。a \neq b
高级运算符
求和:\sum_{i=1}^{n}。\sum_{i=1}^{n} i^2
求积:\prod_{i=1}^{n}。\prod_{i=1}^{n} i
极限:\lim_{x \to \infty}。\lim_{x \to \infty} f(x)
积分:\int_{a}^{b} 或 \iint, \iiint 等用于多重积分。\int_{a}^{b} f(x),dx \quad 或 \quad \iint_{D} f(x,y),dxdy
分数与根号
分数:\frac{分子}{分母}。\frac{a}{b}
根号:\sqrt[次数]{表达式},省略次数则为平方根。\sqrt{a} \quad 或 \quad \sqrt[3]{a^3}
括号与分隔符
圆括号、方括号和花括号:直接使用 (), [], {};若需调整大小可使用 \left 和 \right。(a+b) \quad [a+b] \quad {a+b} \quad \left(\frac{a}{b}\right)
绝对值:|x| 或 \lvert x \rvert(更正式)。|x| \quad 或 \quad \lvert x \rvert
特殊函数与符号
三角函数:\sin, \cos, \tan 等。\sin(x) \quad \cos(x) \quad \tan(x)
对数函数:\log, \ln(自然对数),\lg(常用对数,某些文档类可能需要定义)。\log_b{x} \quad \ln{x} \quad (\text{常用对数可能需要自定义如} , \def\lg{\log_{10}}\lg{x})
指数与下标:^{指数} 和 _{下标}。a_i^2 \quad x_{ij}^k
希腊字母:\alpha, \beta, \gamma, \delta, \epsilon, \theta, \lambda, \mu, \sigma, \tau, \phi, \omega 等。\alpha \quad \beta \quad \gamma \quad \delta \quad \epsilon \quad \theta \quad \lambda \quad \mu \quad \sigma \quad \tau \quad \phi \quad \omega
其他常见符号
无穷大:\infty。\infty
部分集:\partial。\partial x
梯度、散度等:\nabla。\nabla f
向量:通常使用粗体表示,例如 \mathbf{v} 或 \vec{v} 表示方向向量。\mathbf{v} \quad \vec{v}
2025-08-20 来自 新疆
0呃我已经学过了
2025-08-21 来自 上海
0
@复仇者_shazi一坨看看有啥问题呗
2025-08-20 来自 江苏
0找我干啥
2025-08-20 来自 上海
0为啥不找ppl
2025-08-20 来自 上海
0em,也对
2025-08-20 来自 江苏
0
d
2025-08-19 来自 江苏
0//(2)相邻的两个正整数互素 加个(a,b!=0)
2025-08-19 来自 江苏
0不对呀都说了正整数
2025-08-19 来自 上海
0没必要加
2025-08-19 来自 上海
0哦
2025-08-19 来自 江苏
0
d
2025-08-19 来自 上海
0d
2025-08-19 来自 上海
02025-08-11 来自 浙江
0AC君也是这么跟我说的
2025-08-12 来自 上海
0hhh
2025-08-12 来自 浙江
0
顶一波
2025-08-10 来自 江苏
0ddd
2025-08-10 来自 江苏
0私信
2025-08-09 来自 浙江
0我先去休息了,你跟我说的我考虑一下
2025-08-09 来自 上海
0
ddd
2025-08-09 来自 浙江
0真不错我快累死了
2025-08-09 来自 上海
0
ddd
2025-08-09 来自 浙江
0对了为什么你们写的有些文章与c++并无关联,却可以加精,我就不行
2025-08-20 来自 上海
0
有帮助,赞一个