找零
Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。
现在小Y使用1024元的纸币购买了一件价值为N(0 < N≤1024)的商品,请问最少他会收到多少硬币?
思路
运用if语句进行判断分类
代码实现
int main() {
int n = 0;
int res = 0;
scanf("%d", &n);
int data = 1024 - n;
char coins[4] = { 64,16,4,1 };
int cur = 0;
for (cur = 0; data > 0 && cur < 4; ) {
if (data >= coins[cur]) {
data = data - coins[cur];
res++;
}
else {
cur++;
}
}
printf("%d", res);
return 0;
}