#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这个变量