C++ 最大公约数和最小公倍数模板
下文中 ( a , b ) (a, b) (a,b) 可能表示 a a a 和 b b b 的最大公约数,同理 [ a , b ] [a, b] [a,b] 可能表示 a a a 和 b b b 的最小公倍数。
最大公约数
《九章算术》:更相减损术
内容
∀ a , b ∈ N , a ≥ b : ( a , b ) = ( a , a − b ) = ( b , a − b ) ⋯ ⋯ ① \forall a, b \in \mathbb{N}, a \geq b: (a, b) = (a, a - b) = (b, a - b) \ \cdots \cdots ① ∀a,b∈N,a≥b:(a,b)=(a,a−b)=(b,a−b) ⋯⋯①
∀ a , b ∈ N : ( 2 a , 2 b ) = 2 × ( a , b ) ⋯ ⋯ ② \forall a, b \in \mathbb{N}: (2a, 2b) = 2 \times (a, b) \ \cdots \cdots ② ∀a,b∈N:(2a,2b)=2×(a,b) ⋯⋯②
证明
①
设集合 S = { s ∈ N ∣ s ∣ a , s ∣ b } S = \{ s \in \mathbb{N} \mid s | a,\ s | b \} S={
s∈N∣s∣a, s∣b},
则 ∀ s ∈ N ∗ : s ∣ a , s ∣ b ⟹ s ∣ ( a − b ) \forall s \in \mathbb{N}^*: s | a, \ s | b \implies s | (a - b) ∀s∈N