sunbojun0130 发表于 2010-5-10 18:38

组合数计算

各位大哥大姐们 问个很基础的问题
我要实现组合数计算,其中 N=255,用nchoosek和factorial语句总是提示超过精度了或者显示Inf,应该怎么解决此问题
多谢各位

[ 本帖最后由 ChaChing 于 2010-5-13 21:40 编辑 ]

maigicku 发表于 2010-5-11 09:56

没看懂LZ的公式。。。j从0到k(i,j),这个是怎么个循环?k(i,j)中的j怎么取值呢?

rocwoods 发表于 2010-5-11 11:11

利用符号计算,gamma(n+1) = n!,譬如计算C(1000,500)
gamma(sym(1001))/(gamma(sym(501)))^2

ans =

gamma(1001)/1488733874139660410883621898706839781951573416933030783255261496446363152514705608965953935302096830188543735048145515851643540312076298302970814334133112556529014611278703047207055864731421024703652597659778451809296275393170875174342774981365751553048619213634208820012342757850406032226835318357262624768428809960431772919693238545847587078796067808947480570832360730372513063202301487940588008804442597385826658792977188257000265846836650941640277857187088144952823514969957052383780719337417249925725308032924948275548368925364395452096511646797600688158156250210125073031744971855775255247948324239779785864102638624606530534238376333829979880425142606832139947636527173391564990159271577441547245829679895236129687177267592413716597934796838288676838850904840046984442849952322706906294272162393909893758834023877715751556889140917176898525009584252513802733973771754006279596627868009091827593324348339615322113790739013241860019817454010767163666214279098200104289663712805520293968362644827726597038209441368420945816202660567754939164505740259846986953057346308225868421107618826072734887228958891156820611287844483740997309142594591836974074570720951381228171695872411085132607109515137763689566210166141501565986294635650120639132671312283678860952971124131205821989388720437886599634058088518667506165700687573488448224442530590381371647382715669895757651232960479276364115005146305921231608777860147865156319758121839899746044103053569370902328277024826073873116993979385652681863722485211435625674307451709593357291778711524243795882623200360732261741299760708243406859488226648229153437983763437096437534804027336708521939875379048182203481017771960223650556521081130356069064206574692241118010237894604872152023961273341304773098906862158869778103733764716738569694408115725672125766436358103758664697166700375460916841327746235415521004877700243936383058489724049389079894883810860722901813035337926232626882271488683655718409624360333701065518033459943581369505321722720193665102822583486757396388249600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

>> vpa(ans,1000)

ans =

2.7028824094543656951561469362597527549615200844654828700739287510662542870552219389861248392450237016536260608502154610480220975005067991754989421969951847542366548426375173335616246407973788734436457416111949760457104498575628788051460099421942675236691585660313686260248442810929690586379982121632*10^299

>>

[ 本帖最后由 rocwoods 于 2010-5-11 11:13 编辑 ]

sunbojun0130 发表于 2010-5-13 16:57

回复 板凳 rocwoods 的帖子

学习了 多谢老师
页: [1]
查看完整版本: 组合数计算