zoukankan      html  css  js  c++  java
  • 九度OJ 1073:杨辉三角形 (递归)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:3780

    解决:1631

    题目描述:

    输入n值,使用递归函数,求杨辉三角形中各个位置上的值。

    输入:

    一个大于等于2的整型数n

    输出:

    题目可能有多组不同的测试数据,对于每组输入数据,
    按题目的要求输出相应输入n的杨辉三角形。

    样例输入:
    6
    样例输出:
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    1 5 10 10 5 1
    来源:
    2002年清华大学计算机研究生机试真题(第I套)

    思路:

    用函数递归会超时。

    用数组递归,可以利用前面的计算结果,效率比较高。


    代码:

    #include <stdio.h>
    #include <string.h>
    /*
    int yanghui(int x, int y)
    {
        if (y == 1)
            return 1;
        if (x == y)
            return 1;
        return yanghui(x-1, y-1) + yanghui(x-1, y);
    }
    */
    int main(void)
    {
        int i, j, n;
        int a[1000][1000];
     
        while (scanf("%d", &n) != EOF)
        {
            for (i=2; i<=n; i++)
            {
                for (j=1; j<=i; j++)
                {
                    if (j == 1 || i == j)
                        a[i][j] = 1;
                    else
                        a[i][j] = a[i-1][j-1] + a[i-1][j];
                    printf("%d", a[i][j]);
                    if (i != j)
                        printf(" ");
                }
                printf("
    ");
            }
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1073
        User: liangrx06
        Language: C
        Result: Accepted
        Time:10 ms
        Memory:4744 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    CSP-S2-2019游记
    【BZOJ2301】【HAOI2011】Problem B
    【NOIp2017】宝藏
    【NOIp2016】天天爱跑步
    【NOIp2018】保卫王国
    【BZOJ2159】Crash的文明世界
    Van爆零赛总结
    【ZJOI2016】小星星
    【CF1025D】Recovering BST
    【HAOI2016】字符合并
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083959.html
Copyright © 2011-2022 走看看