1130: 杨辉三角

1130: 杨辉三角

Time Limit: 1 Sec  
Memory Limit: 128 MB

Submit: 4656  
Solved: 2250

Submit
Status
Web Board

Description

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 

1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1

Input

输入只包含一个正整数n(1 <= n <= 30),表示将要输出的杨辉三角的层数。

Output

输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。

Sample Input

4

Sample Output

11 11 2 11 3 3 1

HINT

Source

#include <stdio.h>
#define N 30

void yanghui(int arr[][N],int n);
void outputarr(int arr[][N],int n);
int main()
{
    int n,a[N][N];
    scanf("%d",&n);
    yanghui(a,n);
    outputarr(a,n);
    return 0;
}
void yanghui(int arr[][N],int n)
{
    int i,j;
    arr[0][0]=arr[1][0]=arr[1][1]=1;
    for(i=2; i<n; i++)
        arr[i][0]=arr[i][i]=1;
    for(i=2; i<n; i++)
        for(j=1; j<i; j++)
            arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
void outputarr(int arr[][N],int n)
{
    int i,j;
    for(i=0; i<n; i++)
    {
        for(j=0; j<=i; j++)
        {
            if(j==0)
                printf("%d",arr[i][j]);
            else
                printf(" %d",arr[i][j]);
        }

        printf("\n");
    }
}
    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/zzuli_acmer/article/details/78613767
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞