还记得初中甚至是小学时候就已经在接触杨辉三角,但是现在问题来了,怎么才能用代
码来实现呢?
杨辉三角2 [水题]点击打开链接
时间限制: 1 Sec 内存限制: 128 MB题目描述
杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡
三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。
输入
输入一个n,表示行数。
ps:2<=n<=15.
输出
将数据按金字塔形输出,两个数据间有两个空格,数据占两个位置。
样例输入
5
样例输出
11 11 2 11 3 3 11 4 6 4 1
下面是我的代码:
#include<stdio.h>#include<algorithm>using namespace std;int main(){int i,j,n,a[15][30]={0};scanf("%d",&n);a[0][n]=1;for(i=1;i<n;i++){for(j=n-i;j<2*n;j++){if(j==0) a[i][j]=1;//三角形的边都是1elsea[i][j]=a[i-1][j-1]+a[i-1][j+1];//里面的数等于上面对应的空格的前面一个数加后面一个数}}for(i=0;i<n;i++){for(j=0;j<2*n;j++){if(a[i][j]==0)printf(" ");else printf("%2d",a[i][j]);}printf("\n");}return 0;}
这题其实很简单,主要是发现杨辉三角的规律,只要发现规律就很简单了。