链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
Chranos是个数学天才。
一天,有一个可爱的小女孩追求Chranos,他知道Chranos最喜欢当且仅当总质量为K克的时候的番茄炒蛋了。她希望通过美食俘获Chranos的胃,这样就一定可以和他在一起了吧!虽然小女孩有无限数量的食材,但是数学王国的番茄和蛋非常特殊,他们的质量分别为N克和M克。为了表现一颗完整的心、表达充足的爱意,所有的食材必须被用完。N和M都是正整数且互素,制作过程中既不会凭空增加质量,也不会凭空消失质量。
Chranos不希望小女孩打扰他学数学。他发现,并不是所有番茄炒蛋都是可以被制作出来的。他想找出最大的不可以被制作出的总质量K来拒绝小女孩,这样Chranos就可以永远和数学在一起了!
输入描述:
第一行为正整数N和M(2≤N,M≤50000)(2 \leq N, M \leq 50000)(2≤N,M≤50000)。
输出描述:
输出最大的不可以被制作出的总质量K。
示例1
输入
2 3
输出
1
这道题目的意思是,Chranos想要找出最大的一个数 K,使得无论如何组合番茄和蛋,总质量为 K 克的番茄炒蛋都不能被制作出来。具体来说,番茄的质量为 N 克,蛋的质量为 M 克,而且 N 和 M 互质(它们的最大公约数为1)。
由于番茄和蛋的质量是固定的,而且它们的质量互质,因此可以利用裴蜀定理(贝祖定理)来求解。裴蜀定理告诉我们,对于给定的两个正整数 a 和 b,存在整数 x 和 y,使得 ax + by 的值为 a 和 b 的最大公约数。当 a 和 b 互质时,裴蜀定理说明存在整数 x 和 y,使得 ax + by = 1。
在这个问题中,我们可以利用裴蜀定理来求解最大的不可制作总质量 K。最大不可制作总质量 K 可以通过以下公式计算得出:
K = N * M - N - M
这是因为如果 K 大于等于 N * M - N - M,那么可以通过适当组合番茄和蛋的数量,使得总质量为 K 克的番茄炒蛋。
#include<stdio.h>
int main()
{
long int a,b,c;
scanf("%d%d",&a,&b);
c=a*b-a-b;
printf("%ld",c);
}