杨辉三角的第i+1行是(a+b)^i的展开式的系数,它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
输入:4
输出:
1
1 1
1 2 1
1 3 3 1
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
cin>>n;
int **a;
a= new int *[n]; //新建列
for(int i=0;i<n;i++)
a[i]=new int[i+1]; //新建行
**a=1;
for(int i=1;i<n;i++)
{
int j=0;
a[i][j]=1;
for(j=1;j<=i;j++)
if(j==i)
a[i][j]=a[i-1][j-1];
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
cout <<a[i][j]<<" ";
cout <<"\n";
}
for(int i=0;i<n;i++) //释放二位数组的每行
delete [] a[i];
delete [] a;
return 0;
}
主要是学习到了用指向指针的指针来创建动态的二维数组,以及释放。