题目大意:
给定a b(这题题意不清 其实a b互质)
设变量x y(x>=0,y>=0),求 x*a+y*b=c
找到最大的不可能达到的c
如a=4 b=7 那么c=14
有这样一个定理(或者说结论?
当 GCD(a,b)== 1 的时候
只有 c > a*b-(a+b) 才能保证 x 和 y 为非负整数
这里反证一下(因为不会推导啊
假设x*a+y*b = a*b-(a+b)
x*a+y*b = (b-1)*a-b
设k=b-1 那么原式= k*a-b
如使k*a-b为b的非负整数倍 那么k*a就必须为b的正整数倍
已知 gcd(a,b)==1,b的lcm为a*b,即k必须为b的正整数倍
但是k=b-1 与结论相悖 所以该假设不成立
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
while(~scanf(
"%d%d",&a,&
b)) {
printf("%d\n",a*b-(a+
b));
}
return 0;
}
View Code
转载于:https://www.cnblogs.com/zquzjx/p/9682380.html