题目描述 Sousi所在世界的货币有各种不同的面值。今天,会魔法的Sousi在她的储物袋里放了两种面值不同的硬币,每种硬币都有 n枚,准备到集市上购买炼制魔法药水的材料。经过仔细的挑选后,Sousi总共购买了价值为m的材料。现在她想知道能否恰好用这两种硬币付款,而没有任何找零。 输入格式 一行,包含四个整数a,b,n,m,分别表示两种硬币的面值,每种硬币的数量,以及购买的材料的价值。 输出格式 若可以恰好表示,则输出“YES”,否则输出“NO”(不包含引号)。c++代码
时间: 2024-02-12 22:07:28 浏览: 288
好的,下面是这道题的 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int a, b, n, m;
cin >> a >> b >> n >> m;
for (int i = 0; i <= n; i++) {
int j = (m - i * a) / b;
if (j >= 0 && j <= n && i * a + j * b == m) {
cout << "YES" << endl;
return 0;
}
}
cout << "NO" << endl;
return 0;
}
```
我们通过循环枚举第一种硬币使用的个数 i,然后计算使用第二种硬币的个数 j = (m - i * a) / b,若 j 是一个整数且 j 不超过 n,则说明可以恰好用这两种硬币付款,输出 "YES",否则输出 "NO"。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)