题意
找零问题
题目描述
蓝桥商店的老板需要找零n元钱。
钱币的面额有: 100 元、50 元、20 元、5元、1元,问如何找零使得所需钱币的数量最少?
注意:n可能为 0,也能为几百元(别问,问就是来着里微信提现来了)
输入描述
在第一行给出测试例个数 ,代表需要找零的钱数
1< N < 10^5
输出描述
输出共有5行,每一行输出数据输出找零的金额与数量,详情看样例。
输入描述
在第一行给出测试例个数 N,代表需要找零的钱数
1 < N < 105
输出描述
输出共有5行,每一行输出数据输出找零的金额与数量,详情看样例。
示例
输入
365
输出
100:3
50:1
20:0
5:3
1:0
思路贪心:从最大的面值开始取
#include <bits/stdc++.h>
using namespace std;
#define int long long
int a[6] = {100,50,20,5,1};
int sum[6];
void fun(int x){
for(int i = 0;i<5;i++){
while(x>=a[i]){
sum[i]= x/a[i];
x = x%a[i];
}
}
}
signed main(){
int n;
cin>>n;
fun(n);
for(int i = 0;i<5;i++){
printf("%d:%d\n",a[i],sum[i]);
}
return 0;
}