| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 535 人关注过本帖
标题:求证组合排列程序是否正确
取消只看楼主 加入收藏
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:263
专家分:418
注 册:2012-2-4
结帖率:70%
收藏
已结贴  问题点数:20 回复次数:5 
求证组合排列程序是否正确
近期写个对账小程序,应收款数笔,实际回款数笔。
思路是由账面应收款序列,生成所有组合,和实际收款的数据序列生成的组合,进行比对。
先写了个验证小程序,统计学上课没听,害怕有误,请大师指点下。
程序代码:
genComb(1,0,'',10)&&10以内的非重复全部组合

Procedure genComb
    Lparameters startIndex,nSum,cStrCombination,nLen
    LOCAL i
    For i=startIndex To nLen
        Local nToal,cString
        cString=cStrCombination+','+Alltrim(Str(i))&&由哪几笔组成
        nTotal=nSum+i&&求和
        ?nTotal,cString
        If i=nlen
            RETURN
        Else
            genComb(i+1,nTotal,cString,nLen)
        Endif
    Endfor
Endproc
搜索更多相关主题的帖子: 组合 是否 LOCAL cString 排列 
前天 17:25
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:263
专家分:418
注 册:2012-2-4
收藏
得分:0 
10个数,不重复全部组合序列有多少个,不会计算。程序跑出来是1023,不知道是否正确
前天 17:35
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:263
专家分:418
注 册:2012-2-4
收藏
得分:0 
通常也就20笔以内,想到可以128层嵌套,就用了递归
前天 17:37
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:263
专家分:418
注 册:2012-2-4
收藏
得分:0 
回复 5楼 吹水佬
现在就是生成序列N的1、2、3...N的组合,而且不重复。用小一点的数代入N,目前测得结果好像是对的。就是怕逻辑上有缺陷。
昨天 00:59
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:263
专家分:418
注 册:2012-2-4
收藏
得分:0 
只是验证,实际操作会把应收数序列存入数组,通过数组下标来访问,实现组合
昨天 01:03
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:263
专家分:418
注 册:2012-2-4
收藏
得分:0 
感谢指正。试了一下,20个数的话,不重复组合超过百万条,比对效率稍慢。已经把序列控制在15个因子内,有36000多个组合,应收应付组合先存数组,最后一次性写表,select双表比较,作分段切割比较。短期内应急用,就先这样了。后面再考虑其它算法了。感谢各位。
昨天 11:59
快速回复:求证组合排列程序是否正确
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023027 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved