贪心算法
找零问题
#include<bits/stdc++.h>
using namespace std;
//面值,分别表示100元、50元、20元、5元和1元
int t[5]={100,50,20,5,1};
//张数,用于存储每种面值的张数
int m[5];
// 计算找零钱的张数
//贪心算法:每次都选择最大面额的零钱,直到找完为止。
void change(int n){
for(int i=0;i<5;i++){
m[i]=n/t[i]; // 计算当前面值的张数
n=n%t[i]; // 计算剩余的金额
}
}
int main(){
int N;
cin>>N;
change(N);
for(int i=0;i<5;i++)
printf("%d:%d\n",t[i],m[i]);
}