发票拼凑程序的源代码

时间:2012-03-23 03:29:36
【文件属性】:

文件名称:发票拼凑程序的源代码

文件大小:20KB

文件格式:RAR

更新时间:2012-03-23 03:29:36

凑票 源代码 Delphi2007

人在江湖漂,哪能不凑票! 可手拿一大把,咋搭配才好? 贴多了,亏的慌;贴少了,人家财务不干啊! 所以造了这个工具,专门计算怎么贴浪费的最少。。。 核心算法: 架设有N张票,那么每张票都有用/不用两种可能,即0/1,共有2的N次方种。那么就可以从0到2^N-1,每个数字的2进制码分别就代表了每张票的用或者不用,把所有位分别取出来,乘以票面值,并最终相加,就是一个选择的总额,从中跳出最接近预期值的就ok了。 存在的问题: 1、longint型是32位的,所以最多只能算32张票。 2、运算量太大,所以超过20张以后就很慢了,除非有刚刚好的强行退出。所以还可以选择差额不超过1块钱(当然可以改成其他额度)就退出的模式,以加快速度。如果张数太多,会看起来跟死机一样。。。 哪位大大给解决一下速度的问题,或者想个更好的核心算法?


【文件预览】:
Unit1.dcu
Project1.bdsproj
Project1.bdsproj.local
Unit1.dfm
Project1.cfg
Project1.dpr
Unit1.pas
Project1.identcache
Project1.res

网友评论

  • 不能一个票额用多次