我有一个任务是创建一个代码,它将写出100个第一个数的方程(或一个函数,我不知道这是什么)
A(n) = (A(n-1))^2 -n*A(n-2) where A(1) = 1 and A(2) = 1
它必须递归地解决.到目前为止我已经编写了这段代码
#include <iostream>
using namespace std;
int rekurzija(int n){
if(n=1){
return 1;
}
if(n=2){
return 1;
}
if(n>2){
return rekurzija(n-1)*rekurzija(n-1)-n*rekurzija(n-2);
}
}
int main(){
for(int n=1;n<101;n=n+1){
cout << rekurzija(n) << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是程序返回了1100次而不是1,1,-2,0,......(而不是实际解决这个功能).这段代码有什么问题?