小凯的疑惑

看来还没有人来用最简单的方法做小凯的疑惑,那么就让我发一下吧!

小学奥数题&&结论题

ans=a∗b−a−b

给大家一个不太严谨的证明:

引用来自

用到一个引理:不定方程ax+by=c(a,b,c>0)一定有一组解(x1,y1)满足−a

先证引理

首先,显然x,y中至少有一个非负(都是负数就不可能等于c)

然后假设有一组特解(x0,y0),那么通解为(x0+bt,y0−at)(t∈Z)

所以有一组特解(x1,y1)满足−a

再证原命题

a=1 或 b=1时命题成立,下面考虑a>1,b>1

分两步:

1.证ab−a−b≠ax+by

假设ab−a−b=ax+by(x≥0,y≥0)

那么ab=a(x+1)+b(y+1)

令m=x+1,n=y+1(m≥1,n≥1),则ab=am+bn

所以a|bn

又因为gcd(a,b)=1,所以a|n,不妨设n=an′

上面的式子变为ab=am+abn′,推出am=(1−n′)ab≤0,矛盾!

原命题得证

2.证ab−a−b+t(t≥1)可以被分解为ax+by的形式

构造不定方程au+bv=t,由引理得它有一组特解满足−a

ab−a−b+t=ab−a−b+au0+bv0=(u0−1)a+(v0+a−1)b

因为u0−1≥0,v0+a−1≥0,所以原命题得证

所以,ab−a−b是最大的不能被表示为ax+by的整数

code

#include<iostream>
using namespace std;
unsigned long long a,b;
int main()
{
    cin>>a>>b;
    cout<<a*b-a-b;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39984146/article/details/79162750