题目描述:
Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小Y使用1024元的纸币购买了一件价值为的商品,请问最少他会收到多少硬币?
输入描述:
一行,包含一个数N。
输出描述:
一行,包含一个数,表示最少收到的硬币数。
输入
200
输出
17
说明
花200,需要找零824块,找12个64元硬币,3个16元硬币,2个4元硬币即可。
#include <iostream>
using namespace std;
int main()
{
int num;
while (cin >> num)
{
int cash = 1024 - num;
int num_64 = cash / 64;
int num_16 = cash % 64 / 16;
int num_4 = cash % 64 % 16 / 4;
int num_1 = cash % 64 % 16 % 4;
cout << num_64 + num_16 + num_4 + num_1 << endl;
}
return 0;
}