2021.11.2 记录递归知识点
#include<cstring>
using namespace std;
int N;
int a[40];
void recursion(int n){
if(n > N) return;
for(int i = n;i>=1;i--){
a[i]=a[i-1]+a[i];
}
for(int i =1;i <=n;i++){
cout <<a[i] <<" ";
}
cout << endl;
recursion(n+1);
}
int main(){
cin >>N;
memset(a,0,sizeof(a));
a[1]=1;
recursion(1);
return 0;
}
从本题中理解了递归,我一直想着递归,却忘记了递归可以嵌套循环,在本题中
a[i]=a[i-1]+a[i];
}
我错写成了往后遍历:
a[i]=a[i-1]+a[i];
}
必须往前遍历,才有正确结果。