1216:找零钱

本文介绍了一种找零钱算法的实现方式,该算法能够针对输入的任意金额,计算出使用最少数量的指定面额纸币和硬币进行找零的最佳方案。文中提供了一个具体的C++代码示例,演示了如何通过逐个面额递减的方式,计算并输出所需的各面额货币的数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1216:找零钱


Description


在售货员向顾客找零钱时,一般都是尽可能找最少数量的钱币给顾客。下面将给出一定数额的人民币,请将其分解为数量最少的货币。货币单位仅有100 50 20 10 5 2 1几个币种。


Input


一个整数,即人民币总额(单位元)。


Output


分解后的人民币序列,用回车分割。


Sample Input


19


Sample Output



10

5

2

2


#include<iostream>
using namespace std;
int main()
{
    int x1,x2,x3,x4,x5,x6,x7;
    int n,i;
    cin>>n;
    x1=n/100;
    n=n%100;
    x2=n/50;
    n=n%50;
    x3=n/20;
    n=n%20;
    x4=n/10;
    n=n%10;
    x5=n/5;
    n=n%5;
    x6=n/2;
    n=n%2;
    x7=n;
    for (int i = 0; i < x1; i++)
                cout<<"100"<<endl;
            for (int i = 0; i < x2; i++)
                cout<<"50"<<endl;
            for (int i = 0; i < x3; i++)
                cout<<"20"<<endl;
            for (int i = 0; i < x4; i++)
                cout<<"10"<<endl;
            for (int i = 0; i < x5; i++)
               cout<<"5"<<endl;
            for (int i = 0; i < x6; i++)
                cout<<"2"<<endl;
            for (int i = 0; i < x7; i++)
               cout<<"1"<<endl;
 
 
    return 0;
 
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值