|
发表于 2006-8-14 11:06:32
|
显示全部楼层
简单的证明
命题:对于所有最大公因数为1 的A,B,都能产生任意的1~max(A,B)之间的容量,反之则不成立。
证明如下:
先证明一个需要用到的数论中的定理
如果a,b为任意整数,但不全为0,那么a,b的最大公约数为满足s = ax+by (x,y 为任意整数)的最小的正整数s。
证明如下:令s = ax + by (x,y为任意整数)的最小正整数,令q=floor(a/s),那么有如下等式:- a mod s = a - qs
- = a - q(ax + by)
- = a(1 - px) + b(-qy)
复制代码 可见a mod s的值也是a与b的线性组合,但a mod s < s所以a mod s只能为0, 同理b mod s也为0,所以s为a,b的公约数,所以有gcd(a,b) >= s;但是,因为s = ax + by并且有(ax + by)能被gcd(a,b)整除:- 因为a,b的最大公约数为gcd(a,b),所以有
- a = p*gcd(a,b);
- b = q*gcd(a,b);
- ax+by = x*p*gcd(a,b)+y*q*gcd(a,b)
- = (x*p+y*q)*gcd(a, b)
- 也就是gcd(a,b)|(ax+by)
复制代码 所以有gcd(a,b) <= s所以s = gcd(a,b),此命题得证。
下面证明初始命题:
因为A,B互素(也就是最大公约数为1)所以gcd(A,B) = 1,那么根据上面的定理,有存在整数x,y使得gcd(A,B) = Ax + By ,且最小,也就是说gcd(A,B)是满足整数个A,与整数个B的和的最小正整数值,这里我们很清楚的看到,整数个A,整数个B的和肯定是一个为正一个为负(对于本题来说),设A为正,B为负,那么也就是说通过把x桶A,放到y桶B中,就可以得到gcd(A,B)的容量,而这正是通过操作可以达到的最小容量,如果此容量不为1,那么1是无论如何都不可能出现的,而只要产生了1,那么自然可以产生任意的容量。所以原命题的证。
(至于具体操作的办法,不难了吧,如果想明白了,那么就做做zoj1005吧) |
|