题解 | #杨辉三角#

杨辉三角

https://ac.nowcoder.com/acm/problem/14320

#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这个变量
杨辉三角

全部评论

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务