关于打印杨辉三角的理解
什么是杨辉三角?且看下方的示例:
如何利用c语言打印出这些数字呢?
那么就要找到一些规律来表示出所有数字。
规律如下:
-
每行首末元素必为1;
-
每个数字都为它肩上的数字之和。
-
具有对称性。
我们利用以上三点特征,就可以将所有的杨辉三角的数字表示出来。
#include<stdio.h> int main(){ int n; scanf("%d",&n);//输入要输出的多少行 int i; int a[10][10]; for(i=0;i<n;i++){ int j; for(j=0;j<=i;j++){ if(j==0){ a[i][j]=1;//利用杨辉三角的首元素为1 } else if(j<=(i+1)/2){ a[i][j]=a[i-1][j-1]+a[i-1][j];//利用每个数字是俩肩的数字之和 } else{ a[i][j]=a[i][i-j];//利用杨辉三角具有对称性 } printf("%d",a[i][j]); } printf("\n"); } }
这样,一个复杂的数学问题就可以利用程序执行出来!!!