蒜头君指定一金额(以元为单位,如 345345),想知道支付该金额的各种面额的人民币数量,显示 100100 元,5050 元,2020 元,1010 元,55 元,11 元各多少张,要求尽量使用大面额的钞票。
输入格式
一个小于 10001000 的正整数。
输出格式
输出分行,每行显示一个整数,从上到下分别表示 100100 元,5050 元,2020 元,1010 元,55 元,11 元人民币的张数
输出时每行末尾的多余空格,不影响答案正确性
样例输入 复制
735
样例输出 复制
7
0
1
1
1
0
代码:
#include <iostream>
using namespace std;
int main(){
int money;
cin>>money;
int left = 0;
for(int i =money/100;i>=0;i--){
left = money-100*i;//减去i张100元剩余的钱
for(int i2 = left/50;i2>=0;i2--){
left -= 50*i2;减去i2张100元剩余的钱
for(int i3 = left/20;i3>=0;i3--){
left -= 20*i3;
for(int i4 = left/10;i4>=0;i4--){
left -= 10*i4;
for(int i5 = left/5;i5>=0;i5--){
left -= 5*i5;
for(int i6 = left;i6>=0;i6--){
left -= 1*i6;
if (left == 0){ //如果没有剩余的钱了
printf("%d\n%d\n%d\n%d\n%d\n%d\n",i,i2,i3,i4,i5,i6);
return 0;
}
}
}
}
}
}
}
return 0;
}