题目大意
用两种面值互质的金币支付商品,面值分别是p、q,问在不找零的情况下最贵的商品的价格是多少?
分析
用一个方程
,n最大且取不到正整数解。
先说答案是
,但是怎么证明?
用反证法,证明
,设
首先代入原来的方程得到
,也就是
因为gcd(p,q)=1且p|q(y+1)所以p|y+1,同样的道理因为gcd(p,q)=1且q|p(x+1)所以q|x+1
可以设pi=y+1,qj=x+1可得pqj+qpi=pq,所以j+i=1
因为x>0,y>0所以x+1>1,y+1>1,即qj>1,pi>1,因为p,q均为正整数,所以j和i也是正整数,所以j+i必然不少于2,与j+i=1矛盾,所以px+qy=pq-p-q
代码
#include <cstdio>
using namespace std;
long long a,b;
int main(){
freopen("math.in","r",stdin);
freopen("math.out","w",stdout);
scanf("%lld%lld",&a,&b);
return !printf("%lld",a*b-a-b);
}