递归关系:前n个偶数之和

时间:2013-04-12 06:05:05

标签: discrete-mathematics recurrence

所以基本案例是 如果n = 1则为2

我正在试图找出什么是递归案例。

n= 1    f(1) = 2  
n= 2    f(2) = 2 + 4  =  6  
n= 3    f(3) = 2 + 4 + 6 = 12  
n= 4    f(4) = 2 + 4 + 6 + 8 = 20  
n= 5    f(5) = 2 + 4 + 6+ 8 + 10 = 30

我认为n(n + 1)将是递归的情况,但它是一个封闭的公式。

需要帮助!

1 个答案:

答案 0 :(得分:1)

这里有一些伪代码可以帮助你:

function sumeven(int n) {
    if(n == 0) return 0;
    return 2*n + sumeven(n-1);
}

因此,从5开始,扩展变为:

n=5 := 5*2 + sumeven(5-1)
n=4 := 5*2 + 4*2 + sumeven(4-1)
n=3 := 5*2 + 4*2 + 3*2 + sumeven(3-1)
n=2 := 5*2 + 4*2 + 3*2 + 2*2 + sumeven(1)
    == 10 + 8 + 6 + 4 + 2 + sumeven(0)
    == 30