题目描述
给出n(n≤20),输出杨辉三角的前 n 行。
如果你不知道什么是杨辉三角,可以观察样例找找规律。
输入格式
无
输出格式
无
输入输出样例
输入 #1复制
6
输出 #1复制
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
题解
python
import math
n=eval(input())
def pascal(n:int,m:int):
return math.factorial(n)//(math.factorial(m)*math.factorial(n-m))
for i in range(n):
for j in range(i+1):
print(pascal(i,j),end=' ')
print()
c++
记得开longlong,int会炸
#include <iostream>
using namespace std;
long long factorial(int num){
if(num>0)return num* factorial(num-1);
else return 1;
}
int pascal(int N,int M){
return factorial(N)/(factorial(M)* factorial(N-M));
}
int main() {
int n;
cin>>n;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < i+1; ++j) {
long long Num =pascal(i,j);
cout<<Num<<' ';
}
cout<<endl;
}
return 0;
}
|