计蒜客 T1170 人民币支付

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tobe_numberone/article/details/88976605

蒜头君指定一金额(以元为单位,如 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;
}

猜你喜欢

转载自blog.csdn.net/tobe_numberone/article/details/88976605