站点图标 陌路寒暄

小媛学三角

小媛学三角

时间: 1ms        内存:128M

描述:

最近小媛同学不知怎么回事,竟然对中国古典数学有了兴致。但是当学到杨辉三角时却遇到了问题。
还等什么,赶紧去帮帮她吧。

1 
1 1 
1 2 1 
1 3 3 1 

输入一个正整数n(1≤n≤15),表示将要输出的杨辉三角的层数.输出相应层数的杨辉三角,每一层
的整数之间用一个空格隔开。
部分代码已经给出,请按要求补全代码
int main()
{
    int n;
    scanf("%d",&n);
    int a[n][n]={0},i,j;
    for(i=0;i<n;i++)
    {
        for(j=i;j>=0;j--)
        {

         /********************************/
                
             请在此部分填写代码
                  
           
         /********************************/     
        }
    for(j=i;j>=0;j--)
        printf("%d ",a[i][j]);
    printf("\n");
    }
return 0;
}

输入:

输入一个正整数n(1≤n≤15)

输出:

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

示例输入:

4

示例输出:

1 
1 1 
1 2 1 
1 3 3 1 

提示:

参考答案(内存最优[1120]):

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n][n],i,j;
    for(i=0;i<n;i++)
    {
        for(j=i;j>=0;j--)
        {
if(i==j||j==0)
{
    a[i][j]=1;
}
else
{
    a[i][j]=a[i-1][j-1]+a[i-1][j];
}
    }
    for(j=i;j>=0;j--)
        printf("%d ",a[i][j]);
    printf("\n");
    }
    return 0;
}

参考答案(时间最优[1]):

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n][n],i,j;
    for(i=0;i<n;i++)
    {
        for(j=i;j>=0;j--)
        {
if(i==j||j==0)
{
    a[i][j]=1;
}
else
{
    a[i][j]=a[i-1][j-1]+a[i-1][j];
}
    }
    for(j=i;j>=0;j--)
        printf("%d ",a[i][j]);
    printf("\n");
    }
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

退出移动版