下列哪个递归函数可以正确实现不计顺序的整数拆分计算?

qf149154 单选题 共 个子题

已知我们需要通过递归实现计算将正整数n拆分为若干个不大于m的正整数之和(不计顺序,如1+2与2+1视为同一种拆分方案)的方案数,现有四个原型为int split(int n, int m)的递归函数实现,其中n为待拆分的正整数,m为允许使用的最大加数:

A
int split(int n, int m) { if(n == 0) return 1; if(m == 0 || n < 0) return 0; return split(n, m-1) + split(n - m, m); }
B
int split(int n, int m) { if(n == 0) return 1; return split(n-1, m) + split(n, m-1); }
C
int split(int n, int m) { if(n == 0 || m == 0) return 1; return split(n, m-1) + split(n - m, m); }
D
int split(int n, int m) { if(n == 0) return 1; if(m == 0 || n < 0) return 0; return split(n, m-1) + split(n - m, m-1); }
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧