日期:2014-05-18  浏览次数:20841 次

菜鸟勿进: 【求一个组合算法】
问题是这样的:   考试系统试题组合程序.  
比如说:   有5种题目   (判断题,   单选题,   多选题,填空题,问答题),后期可能还会有其他类型的.  

已知
判断题满足条件的有10道
单选题满足条件的有15道
多选题满足条件的有8道
填空题满足条件的有6道
问答题满足条件的有13道

请从上面的试题中抽取25道组成满分为100的试题,   有多少中组合(不是每道题目4分,但这也是组合之一,相同的试题类型分数可以相同,   分数的小数部分只能取0.5);

上面的数字都是变量,   我只是为了说明方便而已.

比如:   判断题10题每题2分,   单选题5每题4分,多选题5题每题6分   填空题3题每题4分,   问答题2题每题9分,   就组成了25道题100分的卷子
10×2+5×4+5×6+3×4+2×9=100

------解决方案--------------------
用循环吧,又费不了多少时间
(10+1) X (15+1) X (8+1) X (6+1) X (13+1)
最多就是这样的循环次数,不多的

------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
令n=题的类型数,a[i]:第i种题型应选择的题数,b[i]:第i种题型的总题数,c[i]:第i种题型的分值。
(1) b[i]=min{b[i],100/a[i]+1};
(2)解:a[1]*b[1]+....+a[n]*b[n]=100;a[i] <b[i]
可以向上面说的用循环来做,因为总题数不会超过200,题型一般在十种一下。
如果速度向提高的话可以思考一下别的方法。
------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
如果每道题的分数都可以从0.5到88分之间的话,25道题都是独立的,单算25道题分数的可能性有25的175次方大小的可能.这样想:每道题至少0.5分,把0.5看成1,就要分200份,去掉25还有175份,每一份都可以任意到25道不同的题目中就有25的175次方中可能啦,再乘 C 52 25 就有好多种呢呵呵.
------解决方案--------------------
好像不是...分数是相同的.概率论快忘了,还得回去看下...
------解决方案--------------------
楼住大傻,你不是菜鸟你还问个皮啊,
------解决方案--------------------
是P 175 25吧,不是25的175次方...
------解决方案--------------------
弄个对话框让出题人自己选多方便...
------解决方案--------------------
确实还不简单
------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
Easy
但不愿回答。楼主说话太可气了。不论是谁都是从菜鸟过来的。
------解决方案--------------------
菜鸟特地进来晃晃~

------解决方案--------------------
菜鸟特地进来晃晃~

------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
菜鸟特地进来晃晃~

------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
就是,LZ太叼,自己都不知道多少斤两,问题都不够详细
------解决方案--------------------
菜鸟特地进来晃晃~

------解决方案--------------------
菜鸟特地进来晃晃~
------解决方案--------------------
我是菜鸟,路过