怎样用java打印杨辉三角,java打印输出杨辉三角

发布时间:2022-11-17

本文目录一览:

  1. java怎么用一个一维数组输出杨辉三角(补充完整下列代码)
  2. java打印居中的杨辉三角形
  3. [用java 打印出如下杨辉三角形,总共打印9行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1](#用java 打印出如下杨辉三角形,总共打印9行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1)
  4. [java 输出杨辉三角](#java 输出杨辉三角)

java怎么用一个一维数组输出杨辉三角(补充完整下列代码)

public class ArrayExample {
    public static void main(String[] args) {
        int i = 1;
        int yh[] = new int[8];
        for (i = 0; i < 8; i++) {
        }
    }
}

java打印居中的杨辉三角形

改一下 pascalTriangle 函数就可以了。下面是程序:

import java.util.*;
public class PascalTriangle {
    /**
     * @param args
     * 杨辉三角(Pascal triangle--帕斯卡三角形)
     */
    public static void main(String[] args) {
        // 二维数组
        System.out.println("请输入层数:");
        Scanner sc = new Scanner(System.in);
        if (!sc.hasNextInt()) {
            System.out.println("输入有误!");
            System.exit(0);
        }
        int lay = sc.nextInt();
        while (true) {
            if (lay > 0) {
                break;
            } else {
                System.out.println("输入有误!");
                System.out.println("请再次输入层数:");
                lay = sc.nextInt();
            }
        }
        pasxalT(lay);
    }
    public static void pasxalT(int lay) {
        int[][] ary = new int[lay + 1][lay + 1];
        for (int k = 0; k < lay; k++) {
            ary[k][0] = 1;
            ary[k][k] = 1;
            for (int j = 0; j < lay; j++) {
                ary[k + 1][j + 1] = ary[k][j + 1] + ary[k][j];
            }
        }
        for (int l = 0; l < ary.length - 1; l++) {
            for (int j = lay; j > l; j--) {
                System.out.print("*");
            }
            for (int j = 0; j < ary[l].length - 1; j++) {
                if (ary[l][j] > 0) {
                    System.out.print(ary[l][j] + " ");
                }
            }
            System.out.println();
        }
    }
}

用java 打印出如下杨辉三角形,总共打印9行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1

//用递归做
import java.util.Scanner;
public class 杨辉三角 {
    /**
     * @param args
     */
    private static int fun(int i, int j) {
        // TODO Auto-generated method stub
        if (j == 0 || j == i + 1)
            return 1;
        else
            return fun(i - 1, j - 1) + fun(i - 1, j);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入行数:");
        int n = sc.nextInt();
        int i = 0, j = 0;
        for (i = 0; i <= n + 1; i++)
            System.out.print(" ");
        System.out.println(1);
        for (i = 0; i < n; i++) {
            for (j = 0; j < n - i; j++)
                System.out.print(" ");
            for (j = 0; j < i + 2; j++)
                System.out.print(" " + fun(i, j));
            System.out.println();
        }
    }
}
//可以打印任意行数

java 输出杨辉三角

//Yhsanjiao.java:
public class Yhsanjiao {
    static public void main(String[] args) {
        int[][] a = new int[10][10];
        for (int i = 0; i < 10; i++)
            for (int j = 0; j < 10; j++) {
                if (j <= i) {
                    a[i][j] = 1;
                    if (j == 0) {
                        a[i][j] = 1;
                    } else {
                        a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
                    }
                } else {
                    a[i][j] = 1;
                }
            }
        for (int i = 0; i < 10; i++) {
            for (int k = 1; k <= 10 - i; k++)
                System.out.printf(" ");
            for (int j = 0; j <= i; j++) {
                System.out.printf("%3d ", a[i][j]);
            }
            System.out.printf("\n");
        }
    }
}

1-10的杨辉三角形