亲密数对(包括最大公因子的讨论)

原文链接:http://www.cnblogs.com/wangshide/archive/2012/06/06/2538097.html
  • 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)]

 

 

 

转载于:https://www.cnblogs.com/wangshide/archive/2012/06/06/2538097.html

上一篇:js排序 奇数在前,偶数在后,升序排序


下一篇:快速幂