题目描述
和尚在山上又耐不住寂寞了,嘴馋的要命,于是就拿了100块钱偷偷的下山买肉吃。和尚最爱吃红烧肘子了,但是和尚不会算数,请你帮和尚算算老板应该找他多少钱。并且和尚很懒,非得要求老板找他钱的张数是最少的。
假设老板那边有面值 50, 10,5,2,1无数张,请你帮和尚算算老板应该找他多少钱,钱张数最少是多少张。
输入
输入一个整数t,表示和尚花了t块钱
输出
输出2个整数m,n.表示老板找和尚m 块钱,最少的张数是n
程序代码:
#include<stdio.h>
int main()
{
int n,m,t,a[5]={50,10,5,2,1},t1,k,i;
while(scanf("%d",&t)!=EOF){
t1=0;
m=100-t;//计算出应该找的钱
k=m;
for(i=0;;i++){
k-=a[i];//先减去面值最大的
if(k<0)
k+=a[i];
else if(k>0){
i=0;//如果减去之后还有剩余就让它在减去最大的,直到剩余的钱少于最大的
t1++;
}
else{
t1++;
break;
}
}
printf("%d %d\n",m,t1);
}
return 0;
}
```