一个中兴的面试题,输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解(c语言递归函数分解法)
原题目:输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解
c语言解法分析:
先判定n和m的大小,如果m小于n,则只需从1,2……m之间找出和为m的组合即可,如果m大于n,则需要判断1~n的和是否大于或等于m,否则参数无效,当组合满足以上有效条件,先判定1~n中连续相加的和大于等于m时即可得出该组合的最多项,并用递归算法
原创
2013-12-25 16:19:20 ·
2909 阅读 ·
1 评论