NOIP2017提高组 小凯的疑惑 结论证明

本文通过直观的解释和严谨的数论语言,证明了当两个正整数a和b互质时,所有大于a*b-a-b的整数都可以表示为a和b的线性组合。这一结论在数论和算法设计中有着广泛的应用。

这题的结论是a∗b−a−ba*b-a-babab,但是我之前一直不理解为什么,于是现在来证明(玩)一下。
条件:gcd(a,b)=1gcd(a,b)=1gcd(a,b)=1
先用比较通俗的语言讲解一下我的思路。
不妨假设a<ba<ba<b
我们固定着先不用a,然后只用b。
那就可以跳到b,2b,3b⋅⋅⋅b,2b,3b···b,2b,3b这些位置上。(也就是可以支付这些值的意思)
假设当前跳了ttt步,我们记tbtbtb与在tbtbtb左边且最近的aaa的倍数的距离为distdis_tdist,不难想象,每跳一步,disdisdis的值就会发生一定的改变。如果所有的disdisdis能够覆盖0,,1,2,⋅⋅⋅a−10,,1,2,···a-10,,1,2,a1,那么我们就可以利用这些dis对应的起点,加上若干个aaa,从而实现从某个点开始,后面所有的点都可以被跳到。
那我们就要看一下disdisdis到底可不可以覆盖所有的这aaa个值呢?(其中0其实可以不必被覆盖到),答案是可以的。譬如说a=5,b=7a=5,b=7a=5,b=7,那么

  1. dis1dis_1dis1=2
  2. dis2dis_2dis2=4
  3. dis3dis_3dis3=1
  4. dis4dis_4dis4=3
  5. dis5dis_5dis5=0

发现当跳4次的时候disdisdis就已经覆盖了所有的4个值(0可以不管)。
事实上,只要a,ba,ba,b互质,那么b,2b,3b⋅⋅⋅,(a−1)b,abb,2b,3b···,(a-1)b,abb,2b,3b,(a1)b,ab,这aaa个数对应的disdisdis就互不相同,其实这个disdisdis也就是对aaa取余后的数。也就是说aaa个余数各不相同,构成了aaa的一个完全剩余系。不过可以去掉0,所以跳a−1a-1a1次就够了。这个结用反证法很容易可以证明。
接下来由于我表达能力不足可能说不太清楚。
最后一个被跳到的就是(a−1)b(a-1)b(a1)b,那从它开始后面的肯定全部都可以被跳到了。譬如(a−1)b+1(a-1)b+1(a1)b+1可以由之前某个满足dis?=disa−1+1dis_{?}=dis_{a-1}+1dis?=disa1+1的步数加上若干个aaa获得。
不过(a−1)b(a-1)b(a1)b前面实际上也还有一串连续的数可以被跳到,譬如(a−1)b−1(a-1)b-1(a1)b1可以由之前某个满足dis?=disa−1−1dis_{?}=dis_{a-1}-1dis?=disa11的步数加上若干个aaa获得。所以最后一个不能被跳到的数是a∗b−a−ba*b-a-babab

之后再用形式化的数论语言把证明过程写一遍。
aswl,写Markdown和LaTeX好累啊。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值