• ECNU 3529 梵高先生


    ECNU 3529 梵高先生

    链接

    https://acm.ecnu.edu.cn/problem/3529/

    题目

    单点时限: 1.0 sec

    内存限制: 256 MB

    谁的父亲死了
    请你告诉我如何悲伤
    谁的爱人走了
    请你告诉我如何遗忘
    ——李志《梵高先生》

    2009年的最后一天 在义乌隔壁酒吧 李志为了还做唱片欠下来的20W 巡回35场演出 在这晚完成 喝醉了的逼哥哽咽着唱完梵高先生 说最后一次唱这歌。他粗鲁的打断了大家的合唱,然后用最沙哑的嗓音唱了起来,哪天,唯一和他合音的只有一只狗。

    抬头再看了一眼星空和黑夜,今晚的星星变成了一个三角形的样子,像这样:

    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    ...
    现在给你一个正整数n,请你给出星空的前n行。

    输入格式
    输入文件共一行,包含一个正整数n(1<=n<=20)。

    输出格式
    输出文件共n行,即星空的前n行。每行包含若干正整数,这些正整数之间用一个空格隔开(不能有多余的空格),最后一个正整数后面没有空格。

    样例
    input
    4
    output
    1
    1 1
    1 2 1
    1 3 3 1

    思路

    开新坑了,ECNU,华东师大的OJ,这是第一道题,是个水题,一堆文字描述略去,是个杨辉三角。
    如果打算要更快,直接打表,因为输入只要求到20,这里还是以学习为重,用常规思路。
    先建立数组,从答案中可以发现,左侧和右侧都是1,中间的数字都是上面两个数字的和,这里用递归即可,需要考虑的是要注意输出格式,套一个if即可。此类题目就是,每一行都与上一行有特定关系,只需要注意到关系,并保证数据格式即可。

    代码

      public static void fun() {
        int n;
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        int[][] a = new int[n][n + 1];
        for (int i = 0; i < n; i++) {
          a[i][0] = 1;
          a[i][i] = 1;
        }
        for (int i = 2; i < n; i++) {
          for (int j = 1; j < i; j++) {
            a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
          }
        }
        for (int i = 0; i < n; i++) {
          for (int j = 0; j < i + 1; j++) {
            System.out.print(a[i][j]);
            if (j != i) {
              System.out.print(" ");
            }
          }
          if (i != n - 1) {
            System.out.println();
          }
        }
      }
    
  • 相关阅读:
    Photoshop制作倒影的两种方法
    用CSS正确显示人民币符号的HTML转义字符
    CSS水平居中/垂直居中的N个方法
    有利于SEO的DIV+CSS的命名规则
    引用视频全屏播放代码
    分享:PHP获取MAC地址的实现代码
    设置nginx禁止通过IP访问服务器的方法
    php文件上传的例子
    apache开启gzip的方法
    perl命令批量替换文件内容
  • 原文地址:https://www.cnblogs.com/blogxjc/p/14259286.html
Copyright © 2020-2023  润新知