题目:
定义超级和函数F如下:
F(0, n) = n,对于所有的正整数n..
F(k, n) = F(k – 1, 1) + F(k – 1, 2) + … + F(k – 1, n),对于所有的正整数k和n.
请实现下面Solution类中计算F(k, n)的函数(1 <= k, n <= 14).
class Solution {
public:
int F(int k, int n) {
}
};
例1:F(1, 3) = 6
例2:F(2, 3) = 10
例3:F(10, 10) = 167960
思路:
设定一个参数sum用循环来表示F(k-1,1)+F(k-1,2)+...+F(k-1,n),sum每次初始化为0;
代码:
class Solution{
public:
int F(int k,int n){
int sum=0;
if(k==0)
return n;
else if(k>0){
for (int i=1;i<=n;i++){
sum+=F(k-1,i);
}
return sum;
}
}
};