基础练习-杨辉三角形
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
数据越界了。