基础练习-杨辉三角形

2018-03-16  本文已影响0人  嘉敏的豆子

1.long long 越界问题
2.看题!

#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
typedef long long ll;
ll a[40][40];
int main(){
    int n;
    cin>>n;
    for(int i = 1;i<=n;i++){
        a[i][1]=1;
    }
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=i;j++){
            if( j==1 ){
                cout<<a[i][j];
            }
            else if( j==i){
                a[i][j]=1;
                cout<<" "<<1;
            }
            else{
                a[i][j]=a[i-1][j-1]+a[i-1][j];
                cout<<" "<<a[i][j];
            }
            
        }
        cout << endl;
    }
    return 0;
}

首先被自己蠢到了,不看题

它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

我还在想怎么求出他的排列数[笑哭],后来百度了一下才知道这个性质……

然后一个重点就是

typedef long long ll;
ll a[40][40];

提交之后发现只有一半的结果能通过,后来发现是没有用long long数据越界了。

上一篇下一篇

猜你喜欢

热点阅读