NOIP2017 小凯的疑惑 解题报告(赛瓦维斯特定理)

题目传送门

题目传送门2

一、赛瓦维斯特定理

  如果我直接说赛瓦维斯特定理,你可能并不知道它是什么(不然你也不会点进来看了);那么如果我说\(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;
} 
posted @ 2022-04-20 18:47  糖豆爸爸  阅读(390)  评论(0)    收藏  举报
Live2D