打印出以下的杨辉三角形(要求打印出10行) 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;
int main()
{
const int n=11;
int i,j,a[n][n];
for(i=1;i<n;i++)
{a[i][1]=1;
a[i][i]=1;}
for(i=3;i<n;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<n;i++)
{for(j=1;j<=i;j++)
cout<<setw(5)<<a[i][j]<<" ";
cout<<endl;}
cout<<endl;
return 0;
}
想问一下a[i][j]=a[i-1][j-1]+a[i-1][j];这个是什么意思,可以输入一个数计吗?
会的朋友帮一下忙解释。

第1个回答  2012-06-11
a[i][j]=a[i-1][j-1]+a[i-1][j]就是 杨辉三角公式啊! 这个数值是它上面的左右两个数的和值,用for循环语句来实现这个公式。追问

可以输入数算吗

追答

不可以把! 杨辉三角公式性质
1、每行数字左右对称,由1开始逐渐变大,然后变小,回到1。
  2、第n行的数字个数为n个。
  3、第n行数字和为2^(n-1)。(2的(n-1)次方)
  4、每个数字等于上一行的左右两个数字之和。可用此性质写出整个帕斯卡三角形。
5、将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第2n个斐波那契数。将第2n行第2个数,跟第2n+1行第4个数、第2n+2行第6个数……这些数之和是第2n-1个斐波那契数。
  6、第n行的第1个数为1,第二个数为1×(n-1),第三个数为1×(n-1)×(n-2)/2,第四个数为1×(n-1)×(n-2)/2×(n-3)/3…依此类推。
  7.两个未知数和的n次方运算后的各项系数依次为杨辉三角的第(n+1)行。
杨辉三角前12行
  第 1 行:
  1
  第 2 行:
  1 1
  第 3 行:
  1 2 1
  第 4 行:
  1 3 3 1
  第 5 行:
  1 4 6 4 1
  第 6 行:
  1 5 10 10 5 1
  第 7 行:
  1 6 15 20 15 6 1
  第 8 行:
  1 7 21 35 35 21 7 1
  第 9 行:
  1 8 28 56 70 56 28 8 1
  第 10 行:
  1 9 36 84 126 126 84 36 9 1
  第 11 行:
  1 10 45 120 210 252 210 120 45 10 1
  第 12 行:
  1 11 55 165 330 462 462 330 165 55 11 1

本回答被提问者采纳
第2个回答  2012-06-11
这是数学上的一个公式,也是杨辉三角形的一个性质。杨辉三角形中每一个数等于它上一行相对位置在它两边的两个数之和。追问

如果是公式,那怎样算的。

追答

你学过排列组合吗?

追问

第3个回答  2012-06-11
不知道
第4个回答  2012-06-11
这个数值是它上面的左右两个数的和值,循环语句简化操作
相似回答