预计阅读时间:5分钟
题目
描述
从键盘输入一指定金额(以元为单位,如345),然后输出支付该金额的各种面额的人民币数量,显示100元,50元,20元,10元,5元,1元各多少张,要求尽量使用大面额的钞票。
输入
一个小于1000的正整数。
输出
输出分行,每行显示一个整数,从上到下分别表示100元,50元,20元,10元,5元,1元人民币的张数
样例输入
735
样例输出
7
0
1
1
1
0
题目分析
简单易懂,没什么好分析的。
思路
本人用了两个办法,一个是用减法来做,效率不是很高,但也对了;另一个是用取模来做,这个效率高很多,是个不错的办法。当然两个都对。
参考代码
两个办法都对。
方法一:笨办法
#include <iostream>
using namespace std;
int main()
{
int n;
int c100=0,c50=0,c20=0,c10=0,c5=0,c1=0;
cin>>n;
while(n>=100)
{
n-=100;
c100++;
}
while(n>=50)
{
n-=50;
c50++;
}
while(n&g