#include <iostream>
using namespace std;
long int nums[1005]={0,1};//初始化第一个数 也是nums[1]=1;
int main()
{
int N;
cin>>N;
int t,k;
int m;
for(int i=1;i<=N;i++){
t=0;
for(int j=1;j<=i;j++){
k=nums[j];
nums[j]=t+k;
t=k;
cout<<nums[j]<<" ";
}
cout<<endl;
}
return 0;
}思路:方法就是使用一个一维数组来持续更新当前数组
注意点:1.使用递归时间太长 2.声明的数组为全局变量(全部默认初始化为0)3.使用中间变量t,k来存储过程中的变量
主要要点:由图可知从1 2 1到1 3 3 1
2和1都要被使用两次 但是第一次就会被3覆盖 所以需要t为中间变量保存2和1这个变量

京公网安备 11010502036488号