用1元 2元 5元 10元 20元的钞票凑成800元的方法种数计算,使用了动态规划。

结果没打出来,只是保留在函数里各个vector中,调试可看所有结果。

优点:快

缺点:占空间占内存

耗时时间测试:

和为200:0.0022153191s

和为800:0.025958383s

和为1600:0.062776931s

和为3200:0.18964779s

下面是详细代码,能正常运行算出结果,改进空间很大,只列了思路。

算法为王,C写的O(n2)函数再快也不如R写的O(nlogn)函数。

void CMFCTestDlg::OnBnClickedBegin()
{
UpdateData(TRUE);
LARGE_INTEGER beginTime;
QueryPerformanceCounter(&beginTime); std::vector<int> vec_1_2(m_nTotal+, -);
for(int i=; i<=m_nTotal; i++)
{
vec_1_2[i] = +i/; // 使用1元 2元纸币组合成 0到m_nTotal 元的方法数
} std::vector<int> vec_1_2_5(vec_1_2.begin(), vec_1_2.end());
for(int i=; i<=m_nTotal; i++)
{
for(int j=; j<=i/; j++)
{
vec_1_2_5[i] += vec_1_2[i-j*]; // 使用1元 2元 5元纸币组合成 0到m_nTotal 元的方法数
}
} std::vector<int> vec_1_2_5_10(vec_1_2_5.begin(), vec_1_2_5.end());
for(int i=; i<=m_nTotal; i++)
{
for(int j=; j<=i/; j++)
{
vec_1_2_5_10[i] += vec_1_2_5[i-j*]; // 使用1元 2元 5元 10元纸币组合成 0到m_nTotal 元的方法数
}
} std::vector<int> vec_1_2_5_10_20(vec_1_2_5_10.begin(), vec_1_2_5_10.end());
for(int i=; i<=m_nTotal; i++)
{
for(int j=; j<=i/; j++)
{
vec_1_2_5_10_20[i] += vec_1_2_5_10[i-j*]; // 使用1元 2元 5元 10元 20元纸币组合成 0到m_nTotal 元的方法数
}
}

   //.... 如果有50元 100元等更多要求,在此处依次添加即可,很容易扩展
LARGE_INTEGER endTime;
QueryPerformanceCounter(&endTime); LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency); float fTime = (endTime.QuadPart-beginTime.QuadPart)/(float)(frequency.QuadPart);
fTime = ;
}

1 2 5 10 20 --> 800的更多相关文章

  1. 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换

    [源码下载] 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换 作者:webabcd 介 ...

  2. (转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html)WebWork深入浅出

    (转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html) WebWork深入浅出 本文发表于<开源大本营> 作者:钱安 ...

  3. Scrum会议10.20

    Scrum会议   组名称:好好学习 项目名称:记账本 参会成员:林莉(Master)胡丽娜 汪东涵 宫丽君 时间:2016.10.20 已完成内容: 1.理解项目和代码. 2.讨论新功能. 计划完成 ...

  4. 查询数据库:models.Books.objects.all()[10: 20]与models.Books.objects.filter(id__gt=10, id__lt=20).values() 的区别

    1. models.Books.objects.all()[10: 20] (10:20  之间是冒号,不是逗号.)查出的是 QuerySet对象,如需进行操作,得进一步进行剥皮. 查询代码: 查询结 ...

  5. OSC Source Code Innovation Salon(2018.10.20)

    时间:2018.10.20地点:北京 朝阳 浦项中心B座2层

  6. 第8次Scrum会议(10/20)【欢迎来怼】

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/20 17:20~17:45,总计25min. 地点 ...

  7. Daily Scrum 10.20

    今天进行了团队第一次scrum meeting,在这次会议中,我们针对NABC模型以及开发前期的工作进行了探讨. 第一次会议 主要内容如下: 为了大家接下来几周的开发效率,需要共同商量团队的一些规则 ...

  8. 2018.10.20 XMYZ Day1总结

    上周的忘写了……题目没有作者…… T1.backpack 期望得分100,实际得分100. 感觉我自己真是不如以前了……以前做这种题都是秒掉的,现在怎么想了10分钟啊…… 因为物品的体积和价值都非常小 ...

  9. Noip模拟81 2021.10.20

    T1 语言 比较简单的题,然后就瞎写了,所以考场上就我一个写了线段树的,所以我的常数.... 所以就枚举动词的位置,找前面后面有没有出现$4$即可 1 #include<bits/stdc++. ...

随机推荐

  1. Ubuntu Code::Blocks IDE 13.12 汉化

    Ubuntu Code::Blocks IDE 13.12 汉化: 安装很简单,不再赘述. 单说汉化: .下载中文简体汉化包(百度网盘):链接: http://pan.baidu.com/s/1kU3 ...

  2. OpenCV系列--摄像头控制的简单代码

    操作系统:windows xp 开发工具:VS2008 opencv版本:2.1.0 依赖库:OpenCV2.1\lib\highgui.lib #include "cv.h" # ...

  3. mysql 5.6.20的安装、配置服务、设置编码格式

    一.安装 安装环境        系统:Window 32        版本:Mysql 5.6.20 1. 首先从官网上http://dev.mysql.com/downloads/mysql/ ...

  4. Mysql中表名作为参数的问题

    近期由于程序的异常,导致数据库中创建了大量的表(约4000个),纠结的是表中的数据还都是有用的. 需要合并到一个表中,首先想到的就是使用存储过程来处理,但由于表名都是动态生成的,需要解决在存储过程中处 ...

  5. fckeditor使用详解

    FCKEditor是一个很好的用于Web页面中的格式化文本编译控件.现在越来越多的论坛的发帖页面中更多的使用了这个控件,我们这里将如何在基于Java的web开发中使用FCKEditor控件的步骤提供给 ...

  6. codeforces 15D . Map 优先队列

    题目链接 题目意思很简单nm的矩阵里, 选若干个ab的小矩阵, 定义每个矩阵的值为这个矩阵里的所有数的和-最小值*数的个数. 选小矩阵时, 优先选值最小的,然后次小的.. 知道不能选位置. 输出所有矩 ...

  7. Oracle EBS-SQL (SYS-7):表单个性化查询.sql

    SELECT * FROM FND_FORM_CUSTOM_RULES; SELECT * FROM FND_FORM_CUSTOM_ACTIONS; SELECT * FROM FND_FORM_C ...

  8. eclipse快捷键说明

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt ...

  9. Office 2010 SP2简体中文正式版下载

    此次发布的SP2包含最新的更新,提高安全性.性能和稳定性,此外SP2还是之前发布的所有更新.累积性更新的汇总.SP2还改善了Office 2010与IE10.Windows 8.Windows Ser ...

  10. C++ 下 typeof 的实现

    现在我们有这样一坨代码: std::vector<int> arr; // ... for(std::vector<int>::iterator iter = arr.begi ...