杨辉三角形

在屏幕上打印出杨辉三角形。

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

根据上图可以得到2个公式:
1)每行的第一个和最后一个为1
2)除上式得两个数外,其他数分别是上一行中的前一列和同一列的两数之和。

#include<stdio.h>

int add(int x,int y);

int main()
{
    int i,j,n=13;
    printf("N=");
    while(n>12)
        scanf("%d",&n);

    for(i=0;i<=n;i++)
    {
        for(j=0;j<24-2*i;j++)
            printf(" ");
        for(j=1;j<i+2;j++)
            printf("%4d",add(i,j));
        printf("\n");
    }

    return 0;
}

int add(int x,int y)
{
    int z;
    if((y==1)||(y==x+1))
        return 1;
    z=add(x-1,y-1)+add(x-1,y);

    return z;
}

欢迎大家点击左上角的“关注”或右上角的“收藏”方便以后阅读。



为使本文得到斧正和提问,转载请注明出处:
http://blog.csdn.net/nomasp

posted @ 2015-05-05 20:25  nomasp  阅读(126)  评论(0编辑  收藏  举报