HNU软件能力实训4-17. 最小钱币数(贪心算法)

本文介绍了一种解决如何用最少钞票数取出银行全部余额的问题,涉及面额为1, 5, 10, 20, 100元的钞票。由于面额构成超递增序列,可以使用贪心算法进行求解。文章提供了解题思路、AC代码,并提醒读者在某些非超递增序列情况下贪心算法可能失效。" 114914276,10539959,OpenCV Java 中的阈值分割技术详解,"['图像处理', 'OpenCV', 'Java']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

你好!欢迎来到我的博客,希望我的思路能够帮到你!

问题描述

阿迪有很多钱。他在银行里有n元。出于安全考虑,他想用现金取款(此处不透露原因)。钞票的面额是1,5,10,20,100元。取出全部余额后能收到的最小钞票数是多少?

输入形式

输入一个正整数n,(1 ≤ n ≤ 109)

输出形式

阿迪能收到的最小钞票数

样例输入

【样例输入1】

125

【样例输入2】

43

【样例输入3】

1000000000

样例输出

【样例输出1】

3

【样例输出2】

5

【样例输出3】

10000000

样例说明

本题可以直接使用贪心策略(优先尽可能多选择大面额的钞票)解决:主要原因是后一个的权值(这里就是纸币面值)是前一个的2倍或以上。

可以思考一下如果货币的类型是1,9,10元三种,要求凑出18元,你可能就会发现贪心算法出错了!

### 关于湖南大学工程训练中的模转换技术资料 #### 资源概述 “HNU-电子测试平台与工具2-模转换工程文件”是一套专门为湖南大学(HNU)电子科学与技术和自动化等相关专业的学生设计的教学资源[^1]。该资源不仅适用于学术研究,还能够帮助工程师和技术爱好者深入了解模转换(ADC)的工作原理及其实际应用场景。 #### 模转换基础概念 模转换(Analog-to-Digital Conversion, ADC)是一种将模拟信号转化为字信号的技术,在现代电子系统中扮演着至关重要的角色。通过这一过程,连续变化的物理量可以被字化处理,从而实现更高效的据分析和传输。具体而言,ADC的核心功能包括采样、量化和编码三个阶段: 1. **采样**:按照一定的时间间隔提取模拟信号的瞬时值。 2. **量化**:将采样的连续幅度映射到有限量的离散值上。 3. **编码**:将这些离散值表示为二进制形式以便计算机进一步处理。 上述理论可以通过实验验证并加深理解,而“HNU-电子测试平台与工具2-模转换工程文件”提供了相应的硬件支持和软件环境来辅助完成此类操作。 #### 工程文件特点 此项目包含了详细的文档说明以及配套的电路图和程序代码示例,便于使用者快速上手。例如,其中可能包含如下内容: - 使用特定微控制器或FPGA实现简单ADC接口的设计指南; - 针对不同分辨率需所推荐的最佳实践方案; - 如何评估ADC性能指标如信噪比(SNR),总谐波失真(THD)等参的方法介绍; 以下是利用Python语言编写的一个简易脚本来读取来自某种传感器经过初步AD变换后的据片段展示: ```python import numpy as np def read_adc_data(file_path): """ Reads and processes the raw data from an ADC file. Parameters: file_path (str): Path to the binary or text-based ADC output file. Returns: ndarray: Array of digital values representing original analog signal samples. """ try: with open(file_path, 'rb') as f: byte_array = bytearray(f.read()) # Assuming each sample is represented by two bytes in little-endian format num_samples = len(byte_array)//2 adc_values = np.frombuffer(byte_array[:num_samples*2], dtype='<u2') return adc_values except Exception as e: print(f"Error reading ADC data: {e}") return None if __name__ == "__main__": path_to_file = "./example_adc_output.bin" result = read_adc_data(path_to_file) if result is not None: print("First five ADC readings:", result[:5]) ``` 这段代码展示了如何解析存储有ADC输出结果的二进制文件,并将其转换成易于后续计算的形式。 #### 学习建议 为了更好地掌握模转换的知识点,除了阅读官方提供的教程外,还可以尝试参与一些开源项目的开发工作或者寻找类似的竞赛活动积累实战经验。此外,也可以参考其他领域内的研究成果比如基于字孪生技术构建虚拟仿真模型来进行更加直观的学习体验[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值