牛客网--找零

Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小Y使用1024元的纸币购买了一件价值为的商品,请问最少他会收到多少硬币?

输入描述:

一行,包含一个数N。

输出描述:

一行,包含一个数,表示最少收到的硬币数。

输入例子1:

200

输出例子1:

17

例子说明1:

花200,需要找零824块,找12个64元硬币,3个16元硬币,2个4元硬币即可。
#include<iostream>
#include<vector>
using namespace std;

int main() {
	int N;
	cin >> N;
	int total = 1024;
	vector<int> money = {64, 16, 4};

	total -= N;
	int result = 0;
	int size = money.size();
	for (int i = 0; i < size; i++) {
		result += (total / money[i]);
		total %= money[i];
	}
	cout << result + total << endl;
	return 0;

}
发布了184 篇原创文章 · 获赞 25 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/weixin_41879093/article/details/104823792