ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 香川群子

[原创] 2014新年元旦第一强帖:实用凑数凑金额高效递归剪枝算法

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2019-11-13 21:26 | 显示全部楼层
本帖已被收录到知识树中,索引项:递归
owencheung 发表于 2019-11-13 16:18
代码有加密码?没有吧。确实,大多实用的都是一个数只参加一次凑数,如果已参与凑数的能做上标记就好了。

嗯,是我看错了,那天我加载了一个规划求解的加载项,还以为是楼主的代码加密了。

TA的精华主题

TA的得分主题

发表于 2019-11-15 10:15 | 显示全部楼层
请教一下"剪枝"怎么理解?

TA的精华主题

TA的得分主题

发表于 2019-11-25 16:34 | 显示全部楼层
香川老师,我把这个递归算法做到窗体去了。把源代码单元格里的参数变成窗体的参数,另外为了让结果输出模式多种选择,在过程里加了个数组。但是数据量稍微大点就卡死。能帮忙看看嘛?

TA的精华主题

TA的得分主题

发表于 2019-12-20 19:09 | 显示全部楼层
本帖最后由 timxutim 于 2019-12-20 19:12 编辑

如果在隔避一列标示一下是第几个数想加就完美了,可惜
002.JPG

TA的精华主题

TA的得分主题

发表于 2019-12-29 10:36 | 显示全部楼层
请大神帮忙看下:发票凑数问题
arr = Array(1, 2, 3, 4, 5, 6) 'n个不同的数。
brr = Array(1, 1, 3, 1, 2, 1)'各个数的个数。
yefix = 10 '凑数值。
要求从提供的数据中,凑出和是10的表达式,并且
数不能用超过了同时余数最小。
目前我已求出所有和是10的表达式
1个 * 1+1个 * 2+1个 * 3+1个 * 4,
1个 * 1+1个 * 3+1个 * 6,
1个 * 1+3个 * 3,
1个 * 1+1个 * 4+1个 * 5,
1个 * 2+1个 * 3+1个 * 5,
2个 * 3+1个 * 4,
1个 * 4+1个 * 6,
2个 * 5,
怎样从中找出我需要的余数是最小的几个表达式?即:
1个 * 1+3个 * 3,
1个 * 4+1个 * 6,
2个 * 5,也就是凑x组发票,浪费最少问题

TA的精华主题

TA的得分主题

发表于 2020-1-7 19:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
您可以帮我改一个,所有的数只能用一次,且必须用一次,计算之后结果接近某个值吗

TA的精华主题

TA的得分主题

发表于 2020-1-17 13:49 | 显示全部楼层
本帖最后由 feixiangye 于 2020-1-17 14:49 编辑
香川群子 发表于 2019-7-23 07:31
搜索利用背包算法解决分组凑数

香川老师您好,有空烦请帮忙看下我的按料号凑数需求,是否可以实现批量凑数,目前我都是用您这个凑数代码,按一个一个料号复制数量出来去凑数,但是有几千个料号效率太慢了,不知道是否可以优化为批量凑数并标记,烦请帮忙看看附件,谢谢!
image.png
image.png

按料号凑数.zip

426.72 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2020-1-17 15:47 | 显示全部楼层
香川群子 发表于 2014-1-1 15:07
彭版出的题目的帖子
http://club.excelhome.net/forum.php?mod=viewthread&tid=151178&page=7#pid6353576
...

香川老师,凑数问题我重新写了个帖子,上线看到的话,烦请帮忙看下,今年春节能不能回家过年,就看这个能不能完成了,现在人工用您的凑数程序在一个个的比对。
http://club.excelhome.net/thread-1518627-1-1.html

TA的精华主题

TA的得分主题

发表于 2020-2-17 19:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
老师,联系不上您,继续帮助

TA的精华主题

TA的得分主题

发表于 2020-2-23 16:01 | 显示全部楼层
学到很多知识。正数求和值及从最大数开始凑数,都是很好的方法,看来没有数学功底,知道了递归也没用呀。发现你对有负数的情况优化不多,试着改进了下,增加了当前求和数与负值累积数相加,如果还小于和值的话,到下个循环,速度就快多了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-15 18:02 , Processed in 0.031044 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表