题目描述
Chranos是个数学天才。 一天,有一个可爱的小女孩追求Chranos,他知道Chranos最喜欢当且仅当总质量为K克的时候的番茄炒蛋了。她希望通过美食俘获Chranos的胃,这样就一定可以和他在一起了吧!虽然小女孩有无限数量的食材,但是数学王国的番茄和蛋非常特殊,他们的质量分别为N克和M克。为了表现一颗完整的心、表达充足的爱意,所有的食材必须被用完。N和M都是正整数且互素,制作过程中既不会凭空增加质量,也不会凭空消失质量。 Chranos不希望小女孩打扰他学数学。他发现,并不是所有番茄炒蛋都是可以被制作出来的。他想找出最大的不可以被制作出的总质量K来拒绝小女孩,这样Chranos就可以永远和数学在一起了!
输入描述:
第一行为正整数N和M(2 \leq N, M \leq 50000)(2≤N,M≤50000)。
输出描述:
输出最大的不可以被制作出的总质量K。
示例1
输入
2 3
输出
1
解法
题目的意思是找出两个素数所不能表示的最大的数
例如 5 和 7 5的所有倍数均可用这两数来表示(7取0就行)
1个7和n个5也可(7、12这一列)
2个7和n个5也可(14、19这一列)
3个7和n个5也可(21、26这一列)
4个7和n个5也可(28、33这一列)
继续往下写,下面的数均能用这两数来表示,因为每一列上面的数+5就得到下面的数
所以 最大的不能表示的数是 23
可以看作 (5-1)7-5 即 nm-n-m
举出其他例子 也是同理
#include<algorithm>
using namespace std;
int main(){
long long n, m ; //不能用int,若两数都是50000,超过int2e9
scanf("%lld %lld",&n, &m);
//题意:找出n m不能组成的最大的数
printf("%lld", (n-1)*m-n );
return 0;
}