Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有2290人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
zgjmost
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:498 积分:4611 威望:0 精华:0 注册:2013/4/25 8:02:00
[求助]  发帖心情 Post By:2015/11/9 18:15:00 [只看该作者]

For Each r As Row In Tables("分考点订卷").rows
    Dim tt As Integer =  r("报考人数")
    Dim ary() As Integer = {31, 11, 5}
    Dim num As Integer = tt
    For i As Integer = 0 To num \ ary(0)
        For j As Integer = 0 To num \ ary(1)
            For k As Integer = 0 To num \ ary(2)
                Dim sum As Integer = ary(0) * i + ary(1) * j + ary(2) * k
                If math.abs(sum - num) <= 4 Then
                    If sum - num < 4 And sum - num > 0 Then
                        r("大袋31份") = i
                        r("中袋11份") = j
                        r("小袋5份") = k + 1
                        r("合计份数") = i*31 + j*11 + k*5 + 5
                    Else If sum - num = 0 Then
                        r("大袋31份") = i
                        r("中袋11份") = j
                        r("小袋5份") = k
                        r("合计份数") = i*31 + j*11 + k*5
                    End If
                End If
            Next
        Next
    Next
Next


出现下面情况,怎样调代码才能都算出来?

序号试卷号考试科目报考人数大袋31份中袋11份小袋5份合计份数国考科目分考点名称
00000四营
01128土木工程CAD1本部
01819人力资源管理1本部
01999统计法规概论1本部
06114社会调查1本部
06239建筑构造#1本部
06240建筑结构#1本部
06322公共管理学1本部
06354终身学习与职业发展1本部
01835财务报表分析1六营
06207民法学#1六营
06208法学基础知识#1六营
06209刑法学#1六营
06423护理学基础(本)1六营
01830公司概论1四营
06501初等数论1四营
06513数学建模1四营
01290现代汉语专题1五营
06036管理会计#1五营
06218成本会计#1五营
06220中级财务会计#1五营
01290现代汉语专题2本部
06014项目评估2本部
06047竞争法2本部
06101金融模拟交易2本部
06106社会实践2本部
06518证据学2本部
01128土木工程CAD2五营
06207民法学#2五营
06208法学基础知识#2五营
06209刑法学#2五营
06012中国法律思想史3本部
01128土木工程CAD3四营
01290现代汉语专题3四营
01809企业战略管理3五营
00899国家开放大学学习指南4本部
01809企业战略管理4本部
01836会计制度设计4本部
01830公司概论50015本部
06104法律实践(法本)50015本部
06216汉语基础#50015本部
06389中国文学基础#50015本部
06354终身学习与职业发展50015六营
01835财务报表分析6本部
07314国际礼仪概论6本部
01200计算机应用基础(本)6五营
01342审计学7本部
01200计算机应用基础(本)7六营
06306经济学与生活7四营
01342审计学8四营
01835财务报表分析8四营
01836会计制度设计8四营
06036管理会计#1101011本部
06218成本会计#1101011本部
06220中级财务会计#1101011本部
00899国家开放大学学习指南1101011四营
06306经济学与生活12本部
07314国际礼仪概论1601116四营
01200计算机应用基础(本)2001326四营
00899国家开放大学学习指南2001326五营
06207民法学#2402232本部
06208法学基础知识#2402232本部
06209刑法学#2402232本部
01200计算机应用基础(本)3002337本部
11001中国法制史2国考科目本部
31009离散数学(本)1国考科目本部
31009离散数学(本)4国考科目五营
71020国际私法2国考科目本部
71020国际私法50015国考科目五营
81021劳动与社会保障法2602232国考科目本部
91026西方经济学(本)1国考科目本部
91026西方经济学(本)3国考科目五营
91026西方经济学(本)6国考科目四营
101032成本管理1国考科目本部
101032成本管理3国考科目五营
111039高级财务会计1国考科目本部
111039高级财务会计6国考科目四营
121042国际经济法1国考科目本部
131043国民经济核算1国考科目本部
141044合同法3国考科目本部
141044合同法50015国考科目五营
151046金融学1国考科目本部
151046金融学2国考科目四营
151046金融学3国考科目五营
171054流通概论1国考科目本部
171054流通概论1国考科目四营
191058商法1国考科目本部
211063现代货币金融学说2国考科目本部
231068小企业管理1国考科目四营
231068小企业管理3国考科目本部
241069中央银行理论与实务2国考科目本部
251070组织行为学1国考科目本部
251070组织行为学3国考科目五营
261073法律文书2国考科目本部
281076常微分方程1国考科目四营
311080工程数学(本)2国考科目五营
311080工程数学(本)3国考科目四营
321083几何基础1国考科目四营
331084计算方法(本)1国考科目四营
351087数学分析专题研究1国考科目四营
371091应用概率统计1国考科目四营
541129土木工程力学(本)1国考科目四营
541129土木工程力学(本)2国考科目五营
621141工程经济与管理2国考科目本部
621141工程经济与管理3国考科目四营
651152教育法学1国考科目四营
721161英语Ⅱ(1)50015国考科目本部
721161英语Ⅱ(1)2001326国考科目五营
721161英语Ⅱ(1)2702127国考科目四营
731162英语Ⅱ(2)6国考科目五营
731162英语Ⅱ(2)7国考科目六营
731162英语Ⅱ(2)2001326国考科目四营
731162英语Ⅱ(2)2902337国考科目本部
811183公共政策概论1国考科目本部
811183公共政策概论50015国考科目五营
811183公共政策概论9国考科目四营
821185行政领导学1国考科目本部



 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/9 19:32:00 [只看该作者]

试试,不行就上传项目。

 

For Each r As Row In Tables("分考点订卷").rows
    Dim tt As Integer =  r("报考人数")
    Dim ary() As Integer = {31, 11, 5}
    Dim num As Integer = tt
    For i As Integer = 0 To num \ ary(0)
        For j As Integer = 0 To num \ ary(1)
            For k As Integer = 0 To num \ ary(2)
                Dim sum As Integer = ary(0) * i + ary(1) * j + ary(2) * k
                If math.abs(sum - num) <= 4 Then
                    If sum - num < 0 Then
                        r("大袋31份") = i
                        r("中袋11份") = j
                        r("小袋5份") = k + 1
                        r("合计份数") = i*31 + j*11 + k*5 + 5
                    Else If sum - sum > 0 Then
                        r("大袋31份") = i
                        r("中袋11份") = j
                        r("小袋5份") = k
                        r("合计份数") = i*31 + j*11 + k*5
                       
                    Else If sum - num = 0 Then
                        r("大袋31份") = i
                        r("中袋11份") = j
                        r("小袋5份") = k
                        r("合计份数") = i*31 + j*11 + k*5
                        Exit For
                    End If
                End If
            Next
        Next
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
zgjmost
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:498 积分:4611 威望:0 精华:0 注册:2013/4/25 8:02:00
  发帖心情 Post By:2015/11/9 20:20:00 [只看该作者]

已解决!谢谢,大红袍老师!

 回到顶部