找钱(贪心,比较简单)
找钱
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 55 Accepted Submission(s) : 24
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
港港和直接是一对好朋(ji)友,他们经常一起购物。
(金额有1,5,10,20,50,100这几种)。
有一天,他们去了超市买了一些东西,一共要支付x元(1<=x<=1000),他们付给收银员y元(x<=y<=2000)。
因为港港和直接都很懒,他们希望收银员找他们的钱张数最少,请问收银员最少找给他们几张钱?
(金额有1,5,10,20,50,100这几种)。
有一天,他们去了超市买了一些东西,一共要支付x元(1<=x<=1000),他们付给收银员y元(x<=y<=2000)。
因为港港和直接都很懒,他们希望收银员找他们的钱张数最少,请问收银员最少找给他们几张钱?
Input
输入有多组测试用例,每组测试用例输入两个整数x,y,(1<=x<=1000),(x<=y<=2000),分别表示要支付的金额和实际付给收银员的金额
Output
对于每组测试用例,输出一个数字,表示收银员最少需要找他们几张钱。
Sample Input
23 50
Sample Output
4
1 #include<bits/stdc++.h> 2 using namespace std; 3 int a[6]={100,50,20,10,5,1}; 4 int main() 5 { 6 int x,y; 7 while(~scanf("%d %d",&x,&y)) 8 { 9 int temp=y-x; 10 int ans=0; 11 for(int i=0;i<6;i++) 12 { 13 if(temp>=a[i]) 14 { 15 int te=temp/a[i]; 16 ans+=te; 17 temp=temp-te*a[i]; 18 } 19 } 20 printf("%d\n",ans); 21 } 22 return 0; 23 }