ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CodeForces 996A Hit the Lottery (C)

2019-08-31 09:06:31  阅读:1358  来源: 互联网

标签:Hit ++ dollar CodeForces 20 Allen Lottery 100 bills


题目
Allen has a LOT of money. He has n dollars in the bank. For security reasons, he wants to withdraw it in cash (we will not disclose the reasons here). The denominations for dollar bills are 1, 5, 10, 20, 100. What is the minimum number of bills Allen could receive after withdrawing his entire balance?
Input
The first and only line of input contains a single integer n(1≤n≤109).
Output
Output the minimum number of bills that Allen could receive.
Examples
Input
125
Output
3
Input
43
Output
5
Input
1000000000
Output
10000000
Note
In the first sample case, Allen can withdraw this with a 100 dollar bill, a 20 dollar bill, and a 5 dollar bill. There is no way for Allen to receive 125 dollars in one or two bills.
In the second sample case, Allen can withdraw two 20 dollar bills and three 1 dollar bills.
In the third sample case, Allen can withdraw 100000000 (ten million!) 100 dollar bills.

题意:有5种不同面值的纸币,求凑够n最少需要几张纸币
求最少就要优先使用面值大的纸币

//复杂版
#include <stdio.h>
int main()
{
	long long n,i=0;
	scanf("%ld",&n);
	while(n>0)
	{
		if(n>=100) 
		{
			n=n-100; 
			i++;
		}
	        else if(n>=20) 
		{
			n=n-20; 
			i++;
		}
    	        else if(n>=10) 
		{
			n=n-10; 
			i++;
		}
    	        else if(n>=5) 
		{
			n=n-5; 
			i++;
		}
    	        else if(n>=1) 
		{
			n=n-1; 
			i++;
		}
    }
    printf("%ld\n",i);
	return 0;
}
//简单版
#include <stdio.h>
int main()
{
	int n,ans=0,a[6]={100,20,10,5,1};
	scanf("%d",&n);
	for(int i=0;i<5&&n>0;i++)
	{
		ans+=n/a[i]; //最多可以使用多少张当前价值的纸币
		n=n%a[i]; //最大限度的利用当前价值纸币后还需要支付多少钱
	}
	printf("%d\n",ans);
	return 0;
}

标签:Hit,++,dollar,CodeForces,20,Allen,Lottery,100,bills
来源: https://blog.csdn.net/w_m_w_m_w_m_w_m/article/details/86661904

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有