少し気づきにくいかもしれない。
問題概要
あなたは、 円硬貨を 枚と、 円硬貨を無限枚持っている。
これらで 円をちょうど支払うことができるかどうかを判定せよ。
解法
一瞬戸惑う問題だと思う。現実の支払いの場面を思い浮かべてみるとわかりやすいと思う。次のようにすると思う。
- まず 円硬貨で出せるだけ出す
- 余った部分を 円硬貨で補うようにする
しかし、余った部分の金額が 円より多かったらちょうど支払うことはできない。 円以下だったらちょうど支払うことができる。
#include <bits/stdc++.h> using namespace std; int main() { int N, A; cin >> N >> A; int amari = N % 500; if (amari <= A) cout << "Yes" << endl; else cout << "No" << endl; }