2019ECNU机试02

思路

  要最少,则当然是尽量量去用大的。而2元是无限的且1元的有⼀一张,所以不不可能不不存在方案。然后这里里可 以使用贪心策略略(根据日常经验)。而因为5元的零钱有限,所以对此需要判断⼀一下,是否会用完5元的 钱。 PS:不不是所有类似题目都是贪心策略略。如果⾯面额为1,5,7找25零钱,贪心结果 73+14 实际上 5*5就已经更更优了了。像这种奇怪面额(面额之间的跨度太大,导致出现极端)的就需要考虑动态规划

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
void main(){
//需要找的钱,五元纸币的数目
int x,a,count=0;
scanf("%d%d",&x,&a);

while(x/5&&a>0){
x-=5;
a--;
count++;
}

while(x/2){
x-=2;
count++;
}

if(x==1)
count++;
printf("%d",count);
}

----\(˙<>˙)/----赞赏一下吧~