AcWing 1205. 买不到的数目
原题链接
简单
作者:
mach4101
,
2020-10-11 17:22:20
,
所有人可见
,
阅读 1038
C++ 代码
#include<iostream>
#include<algorithm>
using namespace std;
int a, b;
bool check(int num) {
//如果能被a或者b直接整除,那么返回真
if(num % a == 0) return true;
if(num % b == 0) return true;
//如果num可以被a和b线性组合出来,那么返回真
while(num >= a) {
if(num % a == 0) {
return true;
}
num = num - b;
}
//如果都不行,那么返回假
return false;
}
int main() {
cin >> a >> b;
if(a > b) swap(a, b);
for(int i = a * b; i > max(a, b); --i) { //倒着枚举
if(!check(i)) {
cout << i << endl;
break;
}
}
return 0;
}
我擦,好牛,简单易懂