先確定N和M其中大者和小者,求出D除以小者(此處假設為N)的商,再在這個範圍內將N乘以1、2、3、......一直乘到D除以N的商,測試在這段範圍中D減去N乘以某倍的乘積是否可被M整除
不太會描述,附上程式碼
#include <iostream>
using namespace std;
int main()
{
int N,M,n,m,D;
while(cin >> n >> m >> D)
{
N=min(n,m);
M=max(n,m);
int a=0;
if(N<=D || M<=D)
{
int s=D/N,k;
for(int i=0;i<=s;i++)
{
k=D-(N*i);
if(k%M==0)
{
cout << "YES" << endl;
a=1;
break;
}
}
}
if(a==0)
cout << "NO" <<endl;
}
return 0;
}
可能不算很好的解法,但我的智商就那樣了