所以我有一个递归函数如下;
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算法的方法。谁能这样做?或者构造良好的伪代码是可以接受的。
答案 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找到解决某些问题的一些示例。