dabocaiqq 2020-07-09 11:32 采纳率: 63.1%
浏览 116
已采纳

高分悬赏:Java语言怎么输出如下的三角形

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

  • 写回答

4条回答 默认 最新

  • 毕小宝 博客专家认证 2020-07-18 09:33
    关注

    杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。

    package algorithm;
    
    
    public class YFTriangle {
          public static void main(String[] args) {
              yh(19);
            }
          /**
           * 它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。
           * @param in
           */
            public static void yh(int in){
                int[] a = new int[in + 1];
                int previous = 1;
                for (int i = 1; i <= in; i ++){
                    for (int j = 1; j <= i; j++){
                        int current = a[j];
                        a[j] = previous + current;
                        previous = current;
                        System.out.print(a[j] + " ");
                    }
                    System.out.println();
                }
            }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • MingCode 2020-07-09 16:27
    关注

    你好,这是杨辉三角问题:

    public static void main(String[] args) {
            int[][] arr=new int[10][];
            for(int i=0;i<arr.length;i++) {
                arr[i]=new int[i+1];
            }
            for(int i=0;i<arr.length;i++) {
                for(int j=0;j<arr[i].length;j++) {
                    if(j==0 || i==j) {
                        arr[i][j]=1;
                    }else {
                        arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
                    }
                }
            }
            for(int i=0;i<arr.length;i++) {
                for(int j=0;j<arr[i].length;j++) {
                    System.out.print(arr[i][j]+"\t");
                }
                System.out.println();
            }
        }
    
    评论
  • Happywzy~ 2020-07-09 16:51
    关注
    public static void main(String[] args) {
            int n = 7;
            int[][] a = new int[n][n];
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++) {
                    if (j == 0 || j == i) a[i][j] = 1;
                    if (i > 0 && j > 0) {
                        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; j++) {
                    System.out.print(a[i][j] + " ");
                }
                System.out.println();
            }
        }
    
    评论
  • 浴火_凤凰 2020-07-10 13:32
    关注
    public class YHSJ_1 {
    
        public static void main(String[] args) {
            int rows = 10;
    
            for (int i = 0; i < rows; i++) {
                int number = 1;
                // 打印空格字符串
                System.out.format("%" + (rows - i) * 2 + "s", "");
                for (int j = 0; j <= i; j++) {
                    System.out.format("%4d", number);
                    number = number * (i - j) / (j + 1);
                }
                System.out.println();
            }
        }
    }
    
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题
  • ¥15 有能用的可加酬金,求可以批量下载懒人听书的软件,能登录自己帐号的。
  • ¥100 高博一起做RGB-D SLAM(5)VO无法出visualisation问题
  • ¥15 使用matlab进行手眼标定的仿真验证,得到齐次矩阵与opencv相差较大