問題
問題文
E869120 は $1$ 円硬貨を $A$ 枚と $500$ 円硬貨を無限枚持っています.
これらの硬貨だけを使うことによって, ちょうど $N$ 円を支払うことができるかを判定しなさい.
制約
・$N$ は $1$ 以上 $10000$ 以下の整数
・$A$ は $0$ 以上 $1000$ 以下の整数
収録されている問題セット
回答 (AC)
$N$ を $500$ で割った商を $q$, 余りを $r$ とおく (つまり $N \div 500=q \cdots r$ とおく) と、E869120 は $500$ 円玉を $q$ 枚を支払うことは可能です。なので、余りの $r$ 円が支払えるかが判定できれば十分です。ここで $1$ 円玉は $A$ 枚あるので、$r$ が $A$ 以下なら支払うことは可能です。以上をまとめて、以下のようなコードを作成しました。ACでした。
abc088a.cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, a;
cin >> n >> a;
if ( n%500<=a ) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
}
調べたこと
AtCoderの解説 → ユーザ解説
同じ方針でした。
AtCoderの解説 → コンテスト全体の解説
同じ方針でした。
リンク
前後の記事
- 前の記事 → AtCoderログ:0003 - ABC 064 A
- 次の記事 → AtCoderログ:0005 - ABC 157 A