洛谷P3951 小凯的疑惑
题目简述:
给两个互质的数a,b,要求求一个数N使方程N=ax+by无负数解,x,y为整数
主要是一道数学题,代码非常简单
N=a*b-a-b
证明如下:
由于两数互质,所以gcd(a,b)=1 lcm(a,b)=a*b
如果一个数k可以被表示出,那么k=ax+by
N=ax+by 因为N不能被合法表示出,有N=ax (mod b)
如果N不合法,那么y<0
因为N最大,x最大(mod b)
所以x=b-1 y=-1
则N=a*(b-1)-b
展开得N=ab-a-b
//注意范围,要开long long
#include<iostream> using namespace std; int main() { long long a,b; cin>>a>>b; cout<<a*b-a-b; return 0; }

浙公网安备 33010602011771号