-
1. 最大共因子(gcd)
-
2. 亲密数对的定义
-
3. 亲密数对的实现(Python)
1. gcd递归定理及证明
gcd递归定理是指gcd(a,b)=gcd(b,a%b),其中%表示取余数。
证明:
我们只需证明gcd(a,b)和gcd(b,a%b)可以互相整除即可。
对于gcd(a,b),它是a和b的线性组合中的最小正元素,gcd(b,a%b) 是b与a%b的一个线性组合,而a%b是a与b的一个线性组合,因而gcd(b,a%b)是一个a与b的线性组合,因为a,b都能被gcd(a,b)整除,因而任何一个a与b的线性组合都能被gcd(a,b)整除,所以gcd(b,a%b)能被gcd(a,b)整除。反之亦然。
2. 亲密数对的定义
如果a的因子和等于b,b的因子和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对。一般通过叠代编程求出相应的亲密数对。
3. 亲密数对的实现(Python)
# result:
# [(220, 284), (1184, 1210), (2620, 2924), (5020, 5564), (6232, 6368)]