Description
定义超级和函数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).
1 2 3 4 5 6
|
class Solution { public: int (int k, int n) { } };
|
例1:F(1, 3) = 6
例2:F(2, 3) = 10
例3:F(10, 10) = 167960
Solution
递归求解,翻译成代码即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class Solution { public: int (int k, int n) { if (k == 0) { return n; } else if (k > 0) { int subsum = 0; for (int i = 1; i <= n; i++) { subsum += F(k - 1, i); } return subsum; } else { return -1; } } };
|
近期评论