杨辉三角形
杨辉三角形怎么解?
话不多说,先上代码.
#include <iostream>
using namespace std;
#define N 10
int main()
{
	int i, j,a[N][N];
	for (i = 0; i < N; i++)
	{
		//安排左右两侧值为1.
		a[i][0] = 1;
		a[i][i] = 1;
	}
	for (i = 1; i < N; i++)
	{
		for (j = 1; j < i; j++)
		{
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//赋值,将上一行顶头两个值赋到这里.
		}
	}
	for (i = 0; i < N; i++)
	{
		for (j = 0; j <= i; j++)
		{
			printf("%-5d", a[i][j]);//输出,每个字符之间隔开5个空格.
		}
		cout << endl;换行
	}
	return 0;
}
我们先看一下第一个循环赋值.
	for (i = 0; i < N; i++)
	{
		//安排左右两侧值为1.
		a[i][0] = 1;
		a[i][i] = 1;
	}
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | |||||||||
| 1 | 1 | 1 | ||||||||
| 2 | 1 | 1 | ||||||||
| 3 | 1 | 1 | ||||||||
| 4 | 1 | 1 | ||||||||
| 5 | 1 | 1 | ||||||||
| 6 | 1 | 1 | ||||||||
| 7 | 1 | 1 | ||||||||
| 8 | 1 | 1 | ||||||||
| 9 | 1 | 1 | 
我们再看一下第二个循环赋值.
	for (i = 1; i < N; i++)
	{
		for (j = 1; j < i; j++)
		{
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//赋值,将上一行顶头两个值赋到这里.
		}
	}
| 2 | ||||||||||
| 3 | 3 | |||||||||
| 4 | 6 | 4 | ||||||||
| 5 | 10 | 10 | 5 | |||||||
| 6 | 15 | 20 | 15 | 6 | ||||||
| 7 | 21 | 35 | 35 | 21 | 7 | |||||
| 8 | 28 | 56 | 70 | 56 | 28 | 8 | ||||
| 9 | 36 | 84 | 126 | 126 | 84 | 36 | 9 | |||
| 10 | 45 | 120 | 210 | 252 | 210 | 120 | 45 | 10 | 
最后输出
	for (i = 0; i < N; i++)
	{
		for (j = 0; j <= i; j++)
		{
			printf("%-5d", a[i][j]);//输出,每个字符之间隔开5个空格.
		}
		cout << endl;换行
	}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号