Java利用纯for循环和数组两种方法打印“杨辉三角”(Ziph)

@Java

“杨辉三角”

大家好,我是Ziph!

我给大家介绍什么是“杨辉三角”!

每个数等于它上方两数之和,并且每行数字左右对称,由1开始逐渐变大。

方案1(数组):

import java.util.Scanner;

public class ArrayYangHui {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入要打印“杨辉三角”的行数:");
        int rows = sc.nextInt();
//        定义数组,定义n行n列的数组
        int[][] nums = new int[rows][rows];
//        每一行的第一列和最后一列都是1
        for (int i = 0; i < nums.length; i++) {
            nums[i][0] = 1;
            nums[i][i] = 1;
        }
//        从第三行开始上面数之和等于下面数的值,i控制行
        for (int i = 2; i < rows; i++) {
//            从第二列开始,j控制列
            for (int j = 1; j < rows; j++) {
//                每个数等于它上方两数之和(上一行的上一列+上一行的同一列)
                nums[i][j] = nums[i - 1][j - 1] + nums[i - 1][j];
            }
        }

//        打印输出杨辉三角
        for (int i = 0; i < rows; i++) {
            for (int j = 1; j <= rows - i; j++) {
                System.out.print("\t");
            }
//            并非每行中的每一列都打印,所以j的截止条件不是j<arr1[i].length,是j<=i
            for (int j = 0; j <= i; j++) {
                System.out.print(nums[i][j] + "\t\t");
            }
            System.out.println();
        }
    }
}

其实“杨辉三角”考的就是数组知识,纯for循环可以不会,但是只要知道纯for循环也是可以打印出的。所以因涉及到不简单的算法,纯for循环打印“杨辉三角”的方案我就不给大家讲解了。

方案2(纯for循环):

import java.util.Scanner;

public class TestYangHui {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入行数:");
        int rows = sc.nextInt();
        //控制行数
        for (int i = 1; i <= rows; i++) {
            //控制空格列数
            for (int j = 1; j <= rows - i; j++) {
                System.out.print(" ");
            }
            //控制数字列数
            int cols = 1;
            for (int k = 1; k <= i; k++) {
                System.out.print(cols + " ");
                cols = cols * (i - k) / k;
            }
            System.out.println();
        }
    }
}

执行结果:
杨辉三角
有问题请大家留言回复!

拜拜

发布了14 篇原创文章 · 获赞 25 · 访问量 4347

猜你喜欢

转载自blog.csdn.net/weixin_44170221/article/details/104235550