题面:
[Time Gate]
https://www.luogu.org/problemnew/show/P3951
【解题思路】
不妨设 a<b
假设答案为 x
若x≡ma(modb)(1≤m≤b−1)
即x=ma+nb(1≤m≤b−1)
显然当 n≥0时x可以用 a,b表示出来,不合题意。
因此当 n=−1时 x 取得最大值,此时 x=ma−b
显然当 m 取得最大值 b−1 时 x 最大,此时 x=(b−1)a−b=ab−a−b
因此 a,b 所表示不出的最大的数是 ab−a−b。
【Code】:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<algorithm> 5 using namespace std; 6 long long a,b; 7 int main(){ 8 scanf("%lld%lld",&a,&b); 9 printf("%lld",a*b-a-b); 10 return 0; 11 }