编写程序,采用贪婪法编程实现人民币的找零

编写程序,采用贪婪法编程实现人民币的找零
2025-02-22 22:25:05
推荐回答(2个)
回答1:

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。
故:
#include
int main()
{
int a[6]={100,50,20,10,5,1};//定义金数数目,忽视1块钱以下的。。
int money,tmpMoney=0;
scanf("%d",&money);//输入想要换算成零钱的值。
for(int i=0;i<6;i++){//由于上面数组有六个值。循环六次
while(money>=a[i]){//当钱额小于面值时退出循环
money-=a[i];//当前金额减去面值
tmpMoney++;//保存当前面值的张数
}
printf("%d元的张数为:%d\n",a[i],tmpMoney);
tmpMoney=0;//把这下一次的数量清零
}
}
想要找零设置角和分的可以,只要把类型改为float类。或把值*10倍

回答2:

SCIP 上有例子