杨辉三角形算法

杨辉三角形是一个直角三角形,每一个元素的数量比上一行增加1,各行的第一列和最后一列的元素都是1,(及对角线上的元素均为1),而且其余各项的值都是上一行前一列元素的值与上一行同一列的值之和,。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1



已输出十行的杨辉三角形为例:

#include<iostream>

#include<iomanip>

using namespace std;

const int n=10;

int main()

{

int a[n][n],i,j;

for(i=0;i<n;i++)

{

a[i][0]=1;//第一列的都为1

a[i][i]=1;//对角线为1

}

for(i=2;i<n;i++)//从第三行开始

for(j=1;j<i;j++)//从第二列开始

a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=0;i<n;i++)

{

for(j=0;j<=i;j++)

{

cout<<setw(5)<<a[i][j];

}


cout<<endl;

}

return 0;

}










本文出自 “hagar” 博客,谢绝转载!

你可能感兴趣的:(C++,算法,三角形,杨辉)