原题:
题意:
给你一个x,让你把x拆成若干个互质的数的和,要求拆出来的极差最小
若x为奇数,可以拆成(x-1)/2和(x-1)/2+1,两个相邻的数一定互质(除了1和2)
这个其实可以证明
gcd(a,a+1)=gcd(a+1,(a+1)%a)=gcd(a+1,1)=1
神奇吧,后面基本都是这个思想
若x为偶数,设x=2y
①如果y是偶数(即x为4的倍数),那么显然可以拆成y-1和y+1,二者一定互质
证明:gcd(a,a+2)=gcd(a+2,(a+2)%a)=gcd(a+2,2)=1(a是奇数,a+2也是奇数)
而且x拆出来的极差一定不能是1
证明:若x=a+1+a,则与x=2y矛盾
所以y-1和y+1一定是最优解
②如果y是奇数,那么显然可以拆成y-2和y+2,二者也一定互质
证明:gcd(a,a+4)=gcd(a+4,(a+4)%a)=gcd(a+4,4)=1(a是奇数,a+4是奇数)
但是注意,极差4并不一定是最优解
不过4也是非常有用的,由于一定能构造出4,所以接下来只需要考虑2和3就行了
(1)对于极差是2
①如果用2个数
那么令x=a+a+2=(a+1)+(a+1)
由x=2y,如果y是偶数那么成立(考虑过了),如果是奇数则不成立
②如果用2个数
那么x=a+a+1+a+2=3a+3,只有当x是3的倍数,且a是奇数的时候才可成立,此时a,a+1,a+2一定两两互质
(2)对于极差是3
如果用4个数,那么一定出现两个偶数,所以只能用3个数
而且3个数只能有一个偶数,所以只有两种情况
①a, a+2, a+3
此时x=3(a+1)+2,只有当x%3=2时成立,且要求a不为3的倍数,否则a和a+3不互质
证明:gcd(a,a+3)=gcd(a+3,(a+3)%a)=gcd(a+3,3)
②a-1, a, a+2
此时x=3a+1,只有当x%3=1时成立,且要求a-1不为3的倍数
至此所有情况讨论完整
综上,可以得出总的判断方法:
①如果x为6则无解
②否侧若x是2 3 4的倍数,那么答案是2
③否则若x%3=1,那么如果(x-1)/3-1是3的倍数,则答案是4,否则答案是3
④否则若x%3=2,那么如果(x-2)/3-1是3的倍数,则答案是4,否则答案是3
没有代码