题目
你现在有无限张 10 块钱和 1 张 𝑎(1≤𝑎≤9) 块钱钞票。你想用这些钞票买苹果,一个苹果 𝑏(1≤𝑏≤1000) 块钱。因为你不想让店家找零钱,所以你想买最少的苹果而不会使店家找钱。
输入数据
输入共一行。
第一行输入两个正整数,𝑏 和 𝑎。
输出数据
一个整数,表示买到的苹果的个数。
输入样例
15 2
输出样例
2
思路
用枚举法
枚举变量:
10块纸币的数量,从0到∞
终止条件:
付给店家买苹果的钱最小且不用找零。
枚举顺序:
注意:对于一张a元的钞票,是可用可不用的
k张10块纸币,k从小到大。
每一个k中要分别枚举
(1)不用a的钞票(优先枚举:付的钱尽可能小的先被枚举到)
(2)用a的钞票
代码
#include<iostream>
using namespace std;
int main() {
int a, b;
cin >> b >> a;
if (b == a) cout << 1 << endl;
else if (b < a && a%b == 0) cout << a / b << endl;
else{
int i,money;
for (i = 1;; i++) {
money = i * 10 + a;
if ((i * 10 + a) % b == 0) break;
money = i * 10 ;
if (money % b == 0) break;
}
cout << money / b << endl;
}
return 0;
}