题目
输入行号和列号,输出对应的位置的值以及到这个位置的杨辉三角
代码
//输入行号和列号,输出对应的位置的值以及到这个位置的杨辉三角
#include<stdio.h>
#define MAXN 100//根据需要可以增加数组空间
#include<iostream>
using namespace std;
int main(){
int n,m,arr[MAXN][MAXN];//如果输出过大可以考虑将数组类型改成long或者longlong
cin>>n>>m;
for(int k = 1;k <= n;k++) {
arr[k][1] = 1;
arr[k][k] = 1;
}
for(int k = 2;k <= n;k++){
for(int l = 2;l < k;l++){
arr[k][l] = arr[k - 1][l] + arr[k - 1][l - 1];
}
}
cout<<arr[n][m]<<endl;
for(int i = 1;i <= n;i++){
for(int j = 1;j <= n - i;j++)
printf(" ");
for(int j = 1;j <= i;j++){
printf("%3d ",arr[i][j]);//根据需要控制输出位数,这里输入 10 10就刚刚好
}
cout<<endl;
}
}