博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归找零问题
阅读量:5921 次
发布时间:2019-06-19

本文共 618 字,大约阅读时间需要 2 分钟。

题目:现有1元、5元、10元、20元、50元面值不等的钞票,问需要90元钱有多少种找钱方案

此题如果没要求打印结果,只要求打印出一共有多少种方案,那么可以采用贪心算法

首先选取最大的,然后逐次选择最小的进行递归实现

代码如下:

#include "stdafx.h"

#include <iostream>
#include <stdio.h>
using namespace std;
int arr[5]={50,20,10,5,1};
int fun( int n,int index) {
if(n<0) return 0;
if(n==0)return 1;
int num=0;
if(index==5) return 0;
for(int i=0;i<=n/arr[index];i++)
{
num+=fun(n-i*arr[index],index+1);
}
return num;
}
int _tmain(int argc, _TCHAR* argv[])
{
cout<<fun(1,0)<<endl;
cout<<fun(5,0)<<endl;
cout<<fun(10,0)<<endl;

cout<<fun(90,0)<<endl;

system("pause");

return 0;
}

转载于:https://www.cnblogs.com/fjsh925907195/p/4138846.html

你可能感兴趣的文章
yum的使用
查看>>
修改Debian root密码
查看>>
解决华为交换机无法Telnet、SSH
查看>>
vsftpd功能介绍
查看>>
php新玩具:psysh
查看>>
编码字符集
查看>>
pycharm license activation
查看>>
Linux下查看进程和线程
查看>>
Linux 下的 ps -ef 命令详解
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
我是如何成长为系统架构师的
查看>>
OpenJDK源码研究笔记(四)-编写和组织可复用的工具类和方法
查看>>
如何在报表权限中使用session
查看>>
RESTful API文档生成的开源项目Swagger
查看>>
北京医院排名(去哪个医院合适)
查看>>
使用zabbix监控TCP连接状态, Zabbix之监控虚拟主机EXSI
查看>>
Category 特性在 iOS 组件化中的应用与管控
查看>>
log4j.properties配置文件配置详解
查看>>
我的友情链接
查看>>