1048(得不到的爱情)证明
题意是给定两个数 n,m(2≤n,m,≤50000) ,n,m 互素,找到最大不能由若干个 n,m 组成的数。
首先插入一个前置知识
∀a≥1,∀b≥1 (∃c∈Z,∃d∈Z) a×c+b×d=gcd(a,b) (1)
当 k 可以由 n,m 组成时,可以用下面的式子来表示
∃x≥0 , ∃y≥0 , n×x+m×y=k(2)
而当 k≥n×m 时,k 等价于 k−n×m(相当于k−n×m 加上 n 个 m 构成),所以这里只需讨论 k∈[0,n×m) 的情况,由(2)可得
∃x∈[0,m) , ∃y∈[0,n) , n×x+m×y=k(3)
由于 n,m 互素(即 gcd(n,m)=1 ),由(1)可得
∃x′∈Z , ∃y′∈Z , n×x′+m×y′=1(4)
∀p∈Z (∃x′′=p×x′ , ∃y′′=p×y′) n×x′′+m×y′′=p(5)
假设最大不能被构成的数为 t,由(2)(5)可得 x,y 至少必然有一者为负数,假设 y 为负数,想让最后的结果 t 尽量大,y 也要尽量大,最大的负数为 −1 ,取 y 为 −1 ,由(3)化简
∃x∈[0,m) , n×x−m=t(6)
由于 t 要尽量大, x 应当取能取到的最大值 m−1 ,由(6)可得
t=(m−1)∗n−m=n∗m−n−m(7)