2024-02-16
24T1
00

目录

数字与数值计算
Notation for Numbers
实数与整数之间的转换
可约分性
定义
最大公约数和最小公倍数
模运算
欧里几德算法

Numbers and Numerical Operations【数字与数值运算】

Divisibility【可约分性】

Greatest Common Divisor & Least Common Multiple【最大公约数与最小公倍数】

Modular Arithmetic【模运算】

Euclidean Algorithm【欧里几德算法】

数字与数值计算

Notation for Numbers

  • 自然数(Natural Numbers):
    • N={0,1,2,...}N = \{0,1,2,...\}
  • 整数(Integers):
    • Z={...,1,0,1,2,...}Z=\{...,-1,0,1,2,...\}
  • 正整数(Positive Integers):
    • N>0=Z>0={1,2,...}N_{>0}=Z_{>0}=\{1,2,...\}
  • 有理数/分数(Rational Numbers / Fractions):
    • Q={mn:m,nZ,n0}Q=\{\frac{m}{n}:m,n \in Z,n \ne 0\}
  • 实数(Real Numbers):
    • R=a1a2...akb1b2...R=a_1 a_2...a_k b_1 b_2 ...

NNZZ中,不同的数字代表不同的数值:

1231 \ne 2 \ne 3

QQRR中,不同的数字可以代表相同的数值:

12=24=36\frac{1}{2} = \frac{2}{4} = \frac{3}{6}

实数与整数之间的转换

使用最大整数(ceiling)与最小整数(floor)概念。

  • 最大整数 x⌈x⌉the greatest integerxthe\ greatest\ integer \le x
  • 最小整数 x⌊x⌋the least integerxthe\ least\ integer \ge x
π=3=e⌊\pi⌋ = 3 = ⌈e⌉

以下是一些关于最大整数与最小整数的简单理论:

1

因为有 x=x⌊-x⌋ = -⌈x⌉,所以有x=x⌊x⌋ = -⌈-x⌉

2

对于所有的 tZt \in Z,均有:

  • x+t=x+t⌊x + t⌋ = ⌊x⌋ + t
  • x+t=x+t⌈x + t⌉ = ⌈x⌉ + t

3

k,m,nZk,m,n \in Z,并且 k>1,mnk>1, m \ge n,则 kk 在区间 [n, m][n,\ m] 的整数倍数的数量为:

mkn1k⌊\frac{m}{k}⌋ - ⌊\frac{n-1}{k}⌋

可约分性

定义

对于 m,nZm,n \in Z,如果n=km,kZn = k * m, k \in Z,我们可以称mm可约nnmm divides nn),记作:

mnm|n

同时也可以说:

  • nnmm是可约的。(nn is divisible by mm
  • mmnn的约数。(mm is a divisor of nn
  • nnmm的倍数。(nn is a multiple of mm

最大公约数和最小公倍数

最大公约数:Greatest common divisor,GCD

Definition of GCD

gcd(m, n)=largest dZ>0 such thatdm and dn.gcd(m,\ n) = largest\ d \in Z_{>0}\ such \ that \\ d|m \ and\ d|n.

最小公倍数:Least common multiple,LCM

Definition of LCM

lcm(m, n)=smallest kZ>0 such thatmk and nk.lcm(m,\ n) = smallest\ k \in Z_{>0}\ such \ that \\ m|k \ and\ n|k.

最大公约数和最小公倍数是非负的,不管 mm nn的正负性。

并且有事实:

gcd(m,n)  lcm(m,n)=m  ngcd(m,n)\ * \ lcm(m,n) = |m|\ * \ |n|

由此可得,当 m,n>0m, n > 0 时,如果有:

lcm(m,n)=m  nlcm(m,n)=m\ * \ n

则有:

gcd(m,n)=1gcd(m,n)=1

即:m,nm,n 是互质数。

互质数(Relatively Prime)

如果gcd(m,n)=1gcd(m,n)=1,我们就认为 mmnn 是互质数,也说他们两个是互质的。

模运算

已知:对于任意的整数 mm,均有:

m=nq+rr[0,m)m = n * q + r,r \in [0, m)

可以用模运算符 %\% modmodrr 进行表示:

r=m%nr=m  mod  nr = m \% n \\ r = m\ \ mod\ \ n

此外,模运算还存在同余概念:

m=(n)p  if  n(mp)m = _{(n)}p \ \ if\ \ n|(m-p)

这表示,mmpp 在模 nn 的意义下同余(即在相同的除数的情况下具有相同的余数)。

需要注意的是,m=(n)pm = _{(n)}p 并不是一个标准的数学符号,更常见的表示方法是:

m=p  (mod n)m = p\ \ (mod \ n)

以下是一些基本事实:

COMP9020 - Lecture 2: Number Theory pp.55

欧里几德算法

最基本的欧里几德算法没有涉及到模运算,它使用了递归的思路,经过大量重复之后回归到模运算的结果。

gcd(m,n)=gcd(m,n)=

m,   (m=n)gcd(mn,n),   (m>n)gcd(m,nm),   (m<n)m,\ \ \ (m=n) \\ gcd(m-n,n),\ \ \ (m > n) \\ gcd(m,n-m),\ \ \ (m < n)

以下是当 m>nm>n 时,公式的证明方法:

COMP9020 - Lecture 2: Number Theory pp.44

然而,在掌握了模运算后,该公式可以简化为:

gcd(m,n)=gcd(m,n)=

m,   (m=n or n=0)n,   (m=0)gcd(m%n,n)   (m>n>0)gcd(m,n%m)   (0<m<n)m,\ \ \ (m=n\ or\ n=0) \\ n,\ \ \ (m=0) \\ gcd(m\%n,n)\ \ \ (m>n>0) \\ gcd(m,n\%m)\ \ \ (0<m<n)

本文作者:Jeff Wu

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!