`

基本算法之4---打印杨辉三角

阅读更多

简要概述:每一个元素是其上面和左上的元素之和。

形如:

 1

 1 1

 1 2 1

 1 3 3 1

.....

 

代码实现:

import java.util.Scanner;

public class Test {
	// 方式1:使用二维数组
	public static void printYang1(int n) {
		int[][] a = new int[n][n];
		a[0][0] = 1;
		System.out.println(a[0][0]);
		for (int r = 1; r < n; r++) {
			a[r][0] = 1;
			System.out.print(a[r][0]);
			for (int c = 1; c < n; c++) {
				a[r][c] = a[r - 1][c - 1] + a[r - 1][c];
				if (a[r][c] != 0)
					System.out.print(" " + a[r][c]);
			}
			System.out.println();
		}
	}

	// 方式2:使用一维数组
	public static void printYang2(int n) {
		int[] a = new int[n];
		System.out.println(1);
		for (int i = 1; i < n; i++) {
			a[0] = a[i] = 1;
			for (int j = i - 1; j > 0; j--) {
				a[j] = a[j] + a[j - 1];
			}
			System.out.print(a[0]);
			for (int t = 1; t <= i; t++)
				System.out.print(" " + a[t]);
			System.out.println();
		}

	}

	public static void main(String[] args) {
		System.out.print(" 请输入要打印的行数:");
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		printYang1(n);
		printYang2(n);
	}
}
/**
 *  使用一维的基本思想:
 * 1 因为不必保持所有信息,所以可以使用一维数组
 * 2 进行递推,以当前的第n行,来写第n+1行。如同第n次写数组的第0~n-1个元素。
 * 3 注意:不要在计算中将未用的数据覆盖,导致有误。
 * 
 */
分享到:
评论

相关推荐

    用java打印杨辉三角

    首先,我们了解杨辉三角的基本概念。每个数字是它正上方两个数字的和,三角形的边缘总是1。例如,前几行的杨辉三角形如下所示: ``` 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ``` 接下来,我们探讨如何使用Java实现这...

    [Java算法练习]-杨辉三角.java

    [Java算法练习]-杨辉三角.java

    锯齿数组打印杨辉三角形

    杨辉三角在数学和计算机科学中有着非常广泛的应用,例如在组合数学、概率论和计算机算法设计中。杨辉三角的计算也可以用于解决一些实际问题,例如计算排列和组合的数量、计算概率分布等。 在编程语言中,杨辉三角的...

    杨辉三角算法杨辉三角算法

    本文将从杨辉三角的基本概念出发,结合具体的Java代码示例,深入探讨其算法实现及应用场景。 #### 二、杨辉三角基本概念 **杨辉三角**(Yanghui Triangle)是中国古代数学家杨辉发现的一种特殊排列方式,其实质是...

    杨辉三角-使用Python打印输出杨辉三角.zip

    这个压缩包文件“杨辉三角-使用Python打印输出杨辉三角.zip”包含了一个关于如何用Python编程语言实现杨辉三角打印的示例。 杨辉三角的每个数字是它正上方两个数字的和,最外层的数字都是1,每一行的第一个和最后一...

    杨辉三角-java编写

    4. **输出**:遍历二维数组,打印每行的元素,形成杨辉三角的形状。 以下是一个简单的Java代码示例: ```java public class YangHuiTriangle { public static void printYangHuiTriangle(int n) { int[][] arr =...

    c语言实现的杨辉三角算法

    4. **函数**:为了代码的可读性和复用性,可以将杨辉三角的生成封装成一个函数,接受行数作为参数,返回二维数组或打印结果。 5. **动态内存分配**:如果不确定杨辉三角的层数,可以使用动态内存分配创建二维数组。...

    杨辉三角C++编程

    根据给定的信息,我们可以提取并总结出以下与“杨辉...以上是对给定的“杨辉三角C++编程”的详细分析和总结,覆盖了杨辉三角的基本概念、C++语言基础知识、队列数据结构的实现以及杨辉三角的具体算法实现等方面的内容。

    杨辉三角的循环输出 C++实现-杨辉三角c++

    首先,我们需要了解如何生成杨辉三角的基本结构。在C++中,我们通常使用二维数组来存储三角形的每一行。数组的行数可以根据需要输出的行数动态定义。以下是一个简单的二维数组初始化示例: ```cpp int triangle[N]...

    java杨辉三角算法实现

    洋哥刚写出来的新鲜代码,通过java中for循环与两个数组的调用,实现杨辉三角算法,供大家分享交流

    用c#打印杨辉三角.rar

    4. **打印结果**:最后,我们可以遍历整个数组,按照特定格式(通常是右对齐)打印出每个数字,形成杨辉三角的图形。 以下是一个简单的C#代码示例,用于打印杨辉三角: ```csharp using System; class Program { ...

    打印杨辉三角前n行算法

    杨辉三角,又称为帕斯卡三角,是一个二维的数形结构,它的每一行都是一个等差数列的和,且每个数都是它上方两数之和。在数学上,杨辉三角是组合数学中的一个重要工具,常用于计算二项式系数。在计算机科学中,杨辉...

    汇编语言程序设计---杨辉三角代码

    在计算机科学中,杨辉三角常用于演示递归算法、组合数学以及位运算的概念。它的行可以表示为二项式系数,对于计算幂次的组合数有重要应用。 **IBM Semeble语言实现杨辉三角** 编写IBM汇编语言程序来生成杨辉三角,...

    杨辉三角算法(锻炼大脑)

    以下是一个基于Java和向量(Vector)实现的杨辉三角算法的详细解释: 1. **向量介绍**:Java中的`Vector`类是`AbstractList`的子类,它提供了动态数组的功能,允许在运行时自动调整其大小。`Vector`与数组类似,但...

    C语言-杨辉三角(最佳算法)

    在C语言的世界里,杨辉三角是一个历久弥新的经典算法话题。它不仅在数学领域具有丰富的内涵,而且在编程实践上,为学习者提供了探索不同编程技巧与优化方法的机会。本文旨在深入分析并阐述如何在C语言中高效实现杨辉...

    基础算法-python打印杨辉三角

    python打印杨辉三角 # 方法一 def fab(max): n, a, b =0, 0, 1 while n yield b #使用yield a, b =b, a + b n = n + 1 N = int (input("请输入生成行数N: ")) def yanghui_triangles(): a = [1] while True...

    杨辉三角--Java

    4. 内部的第一个 `for` 循环用于打印每行前的空格,空格的数量等于当前行号减1,以对齐杨辉三角的形状。 5. 内部的第二个 `for` 循环根据杨辉三角的规则更新数组元素。对于数组下标为 `k`(从1到 `i-1`)的元素,将...

Global site tag (gtag.js) - Google Analytics