博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【贪心算法】:经典硬币组成问题,内有问题,搞清楚了支付宝转账5块
阅读量:3704 次
发布时间:2019-05-21

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

题目

有一袋硬币,有2角5分的 ,有1角的,有5分的,有1分的

求问现在组成 6 角3 分的钱,该如何组成硬币数最少?

解法

这里用了贪心算法,就是6角3分钱先往钱大的扣,比如说开始就扣 2角5分,然后剩3角8分,还能扣2角5分,这样每次都往钱最大的扣。思路既是如此,这就是所谓的贪心算法。

用简单的言语概括一下贪心算法,每次都是最优解~~~

代码(找问题给奖励)

代码就是参照上面的解法写出来的,似乎也没有啥难度,大家有不懂的地方,提出了有建设性的意见,我支付宝转账5块奖励

#include 
using namespace std;float num[4]={
2.5,1,0.5,0.1}; //模拟,注意这里一定要用float型,不然报错void main(){ float sum=6.3; int count=0; while(1){ if(sum<0.05){ //0.05这里比较巧妙,搞懂了我给转账5块 cout<
<
<
=num[i]){ sum-=num[i]; cout<
<<" "; count++; break; } } }}

输出

这里写图片描述

你可能感兴趣的文章
Springboot 整合mybatis
查看>>
Springboot+mongodb本地环境正常,生产环境报错{java.lang.NoClassDefFoundError: jdk/net/ExtendedSocketOptions}
查看>>
你真的知道get方法与post方法的区别吗?论get方法与post方法上传下载文件的区别
查看>>
swagger配置及升级版swagger-bootstrap-ui配置+访问账号密码登录限制
查看>>
网易云Api,轻松获取音乐数据
查看>>
List与String相互转换
查看>>
阿里巴巴fastjson api使用教程
查看>>
栈与堆的个人理解
查看>>
Lambda表达式概念理解
查看>>
Java 8 Stream 优雅的流式编程, 过滤集合类型的数据lambda表达式
查看>>
浅谈重不重写equals和hashcode对于HashMap添加元素的影响
查看>>
面试题:Redis是单线程,速度为什么会这么快?
查看>>
关于String==和String.intern()的面试题,一文读懂
查看>>
new Hashmap 和 new ArrayList时设置初始化容量多少合适
查看>>
RocketMQ概念简介
查看>>
关于BIO和NIO的理解与总结(网络IO)
查看>>
STL应用之stack、queue、priority_queue容器适配器
查看>>
继承的学习——C++
查看>>
实现一个minishell小程序
查看>>
设计模式(单例模式)——Linux系统编程
查看>>