任务描述
本关任务:设计一个贪婪算法,使得找的钱币张数最少。
商店售货员找给 1 个顾客 n 元,用以下七种面值的纸币:100 元,50 元,20 元,10 元,5 元,2 元,1 元。
思考:如果商店售货员找给 1 个顾客 140 元,假设钱币的面值有九种:100 元,70 元,50 元,20 元,10 元,7 元,5 元,2 元,1 元。用贪婪算法得到的是该问题的最优解吗?
编程要求
请在右侧编辑器Begin-End处补充代码,完成本关任务,注意需要学生自己获取找的钱 n。
#includevoid main() { int j,GZ,A,B[8]={0,100,50,20,10,5,2,1},S[8]={0,0,0,0,0,0,0,0}; scanf("%d",&GZ); for(j=1;j<=7;j++) { A=GZ/B[j]; S[j] = A; GZ = GZ - A*B[j]; printf("%d元 %d张n",B[j],A); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)