HDOJ2032 杨辉三角

一次AC。哈哈   

#include<iostream>
using namespace std;

int main(){
    int n;
    int a[30][30];
    while(scanf("%d",&n)!=EOF){
        a[0][0]=1; a[1][0]=1; a[1][1]=1;//先初始化第一行第一项、第二行第一二项为1
           for(int i=2;i<n;i++){//从第三行开始到第n行进行初始化(数组下表[0][0]表示第一行第一列)
               a[i][0]=1;//把每一行的行首元素初始化为1
               for(int j=1;j<n-1;j++)
                       a[i][j]=a[i-1][j-1]+a[i-1][j];//运用杨辉三角的特点
                       
               a[i][i]=1;//把每一行的第i个元素初始化为1,即杨辉三角每行的最后一个元素
               }
               
            for(int p=0;p<n;p++)//输出杨辉三角
               for(int q=0;q<=p;q++)
                  printf(q==p?"%d\n":"%d ",a[p][q]);
                  printf("\n");              
    }
    return 0;
    }


你可能感兴趣的:(杭电oj)