NOIP2017 小凯的疑惑 解题报告(赛瓦维斯特定理)
一、赛瓦维斯特定理
如果我直接说赛瓦维斯特定理,你可能并不知道它是什么(不然你也不会点进来看了);那么如果我说\(NOIP\) \(2017\) \(D1\) $T$1小凯的疑惑,那你可能会恍然大悟。
其实,赛瓦维斯特定理就是:
已知\(a\),\(b\)为大于\(1\)的正整数,\(gcd(a,b)=1\)(\(a,b\)互质),则使不定方程\(ax+by=C\)不存在非负整数解的最大整数\(C=a*b−a−b\)。
那么,也就是小凯的疑惑中的\(a*b−a−b\)。
二、定理证明
设\(a<b\)
\(a,b\)能表示的钱数为:
\(c=am+bn\) (\(1=<m<=b-1\))
讨论下\(n\)的范围:
如果\(n>=0\),\(c\)是一定能表示出来的钱数,不符合题意。
第一个符合条件的\(n\)应该是\(-1\)
此时,\(c=am-b\)
\(c\)要想最大,\(m\)取到最大,则
\(c=a(b-1)-b=ab-a-b\)
三、代码实现
#include<iostream>
using namespace std;
int main(){
long long a,b;
cin>>a>>b;
cout<<a*b-a-b<<endl;
return 0;
}