这种算法的Java类型实现

时间:2015-04-09 09:52:47

标签: algorithm

所以我有一个递归函数如下;

Sq(1) = 1
Sq(n) = Sq(n-1) + 2*n - 1 for n > 1

我知道;

sq(n)=n²

满足条件,因为

n²=(n−1)²+2n−1

1²=1

为了证明这是唯一可行的解​​决方案,我们可以使用归纳法。假设sq(n−1)=(n−1)²。然后我们得到:

sq(n)=(n−1)²+2n−1=n².

我需要一种将其实现为java算法的方法。谁能这样做?或者构造良好的伪代码是可以接受的。

1 个答案:

答案 0 :(得分:0)

由于这似乎是作业,我不会详细介绍:

int sq(int n) 
    if n == 1 then return 1   //This will break the recursion

    return sq(n - 1) + (2*n - 1)  //recursive call

您可以通过递归here找到解决某些问题的一些示例。