• Java小案例——使用双重for循环实现杨辉三角的输出



    杨辉三角特点分析(如图):

      *第i行有i列

      *每一行的第一个数都为1

      *每一行的最后一个数都为1

      *当前数(非第一列和最后一列)等于上面一个数+上面一个数的左边的数


    实现代码:

    /**
     * 要求:输出杨辉三角
     * @author Administration
     *
     */
    public class YangHuiTest {
    
        public static void main(String[] args) {
            //创建二维数组,定义了行,没有定义列
            int[][] arr = new int[10][];
            //动态为列开辟空间(杨辉三角每行的列数和当前行号是相同的,如:第5行有5列)
            for (int i = 0; i < arr.length; i++) {
                arr[i] = new int[i+1];
            }
            //赋值操作
            for (int i = 0; i < arr.length; i++) {
                arr[i][0] = 1;//第i行第1列,即每行的第一列都是1
                arr[i][i] = 1;//第i行的第i列,即每行的最后一个数都是1
                //接下来是杨辉三角的核心部分
                for(int j=1;j<i;j++){//注意这里的j需要从1开始算起,因为每一行的第一个数我们已经给赋值了
                    //当前数值-->上一行该列的数+上一行该列的左边的第一个数(看图)
                    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]+"	");  //不必换行
                }
                System.out.println();  //换行
            }
        }
    }

    运行结果:

    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    
    1    7    21    35    35    21    7    1    
    1    8    28    56    70    56    28    8    1    
    1    9    36    84    126    126    84    36    9    1    
  • 相关阅读:
    55_Go基础_1_22 map 基本用法
    59_Go基础_1_26 字符串
    56_Go基础_1_23 map的遍历与排序
    52_Go基础_1_19 切片的再扩容
    数据类型和Json格式
    MySQL 存储过程的三个例子
    struts整合spring
    Android动态操作RelativeLayout里面的Button
    windows环境变量的初步研究
    struts2源码分析StrutsPrepareAndExecuteFilter
  • 原文地址:https://www.cnblogs.com/Mus-Li/p/6937024.html
Copyright © 2020-2023  润新知