题目链接:找零
题意:
初始有1024元,花费n元,问剩下的钱 最少 能换多少枚硬币,硬币面额为 1, 2, 4, 16, 64
解题思路:
先换面额最大的,再换次大的.....
#include <bits/stdc++.h>
using namespace std;
long long mod = 99997867;
long long a[1000001];
int main(){
int n;
cin >> n;
int ans = 0, k = 1024;
k = k - n;
ans = ans + k / 64;
k = k % 64;
ans = ans + k / 16;
k = k % 16;
ans = ans + k / 4;
k = k % 4;
ans = ans + k;
cout << ans << endl;
return 0;
}
本文探讨了找零问题的解决思路,通过递减面额的硬币进行找零,以实现最小数量的硬币组合。初始金额为1024元,在扣除消费金额后,算法依次使用最大面额64元、16元、4元和1元硬币进行找零,最终输出所需硬币的总数。

1366

被折叠的 条评论
为什么被折叠?



