找零问题的几种解决方式(递推)(持续更新)

找零问题的几种解决方式(递推)(持续更新)初学算法 找零问题算的上是一个比较经典的问题 老师上课讲的时候潇潇洒洒 以为已经是拿下了 课下唯唯诺诺 一看 发现思路没了 真是出来混 总是要还的呀 源码 include iostream include iostream

大家好,我是讯享网,很高兴认识大家。

源码:


讯享网

#include<iostream> #include<bits/stdc++.h> using namespace std; int den[7]={ 
   0,1,2,5,10,20,50}; //定义分配数组 int fun(int n,int i); int main() { 
    int n; int count=0; cout<<"请输入整币金额:"; cin>>n; for(int i=1;i<=6;i++) { 
    count+=fun(n,i); } cout<<"整币"<<n<<"共有"<<count<<"种找零方式"<<endl; } int fun(int n,int i) { 
    int sum=0; int res=n-den[i]; if(res<0) { 
    return 0; } else if(res==0) { 
    return 1; } else { 
    for(int j=1;j<=i;j++) { 
    sum+=fun(res,j); } } return sum; } 

讯享网

核心思想:
假设找零的最大面额,并一推到底。

小讯
上一篇 2025-03-02 14:37
下一篇 2025-01-13 13:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/36833.html