C语言用下面贪婪算法如何编程实现

C语言用下面贪婪算法如何编程实现
有3种硬币,面值分别1元,5角和1角.这3种硬币各种数量不限
给一位顾客找2元7角,请问如何才能使找出的硬币个数最少
第一:找到不超过2元7角最大硬币,就是1元的
第二:然后从1元7角中再减去1元,剩下1元7角。再找面值不超过1元7角最大
硬币,还是1元
第三:从1元7角中再减去1元,得到7角余额,再找一个面值不超过7角最大硬币,
就是5角的
第四:从7角中减去5角,还剩2角,再找一个面值不超过2角的最大硬币,就是1角的
第五:从2角中减去1角,还剩下1角,再找一个面值不超过1角的最大硬币,那就是1角。整个找钱过程结束
zjzszsf 1年前 已收到1个回答 举报

拉大的确 幼苗

共回答了17个问题采纳率:100% 举报

#include
#include
int little(double n){
static int i=0;
if(n==0.0){
return;
}else{
if(n>=1.0){
++i;
printf("n=%fn",(n-1));
little(n-1.0);
}else if(n>=0.5){
++i;
printf("n=%fn",(n-0.5));
little(n-0.5);
}else if(n>=0.1){
++i;
printf("n=%fn",(n-0.1));
little(n-0.1);
}
}
return i;
}
int main()
{
printf("Hello world=%d!n",little(2.7));
return 0;
}

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.111 s. - webmaster@yulucn.com