java--杨辉三角

package test111111;

public class Test11 { 

	public static void main(String[] args){
		printYanghui();

	}

	//先总结一般规律,再讨论特殊情况,再做图形调整
	public static void printYanghui() {
		int rowMax = 6;
		int[][] arr = new int[rowMax][rowMax];
		for(int row=0;row<rowMax;row++) {
			for(int k=0;k<rowMax-row;k++) {
				System.out.print(" ");
			}

			for(int col=0;col<=row;col++) {
				if(col==row||col==0||row==0) {  //特殊情况
					arr[row][col] = 1;
				}else {
					arr[row][col] = arr[row-1][col-1]+arr[row-1][col];	//一般规律
				}
				System.out.print(arr[row][col]+" ");
			}
			System.out.println("");
		}

		for(int row=0;row<rowMax;row++) {
			for(int col=0;col<rowMax;col++) {
				System.out.print(arr[row][col]+" ");
			}
			System.out.println("");
		}
	}
}

    1
     1 1
    1 2 1
   1 3 3 1
  1 4 6 4 1
 1 5 10 10 5 1

时间: 2024-10-12 16:17:45

java--杨辉三角的相关文章

使用Java打印杨辉三角

package 杨辉三角; import java.util.Scanner; public class 三角 { private static Scanner scn; public static void main(String[] args) { scn = new Scanner(System.in); System.out.println("请输入数据"); int n = scn.nextInt(); //定义一个二维数组 int [][] array = new int

Java的二维数组的应用及杨辉三角的编写

(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个,即该位置上的元素在该行上最大,在该列上最小(注:一个二维数组也可能没有这样的鞍点). /** * * @author liuhui *@version Java上机实验三 *@time 2016.10.30 */ public class javatest2 { public static int

Pascal&#39;s Triangle leetcode java(杨辉三角)

题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 题解:既然讲到了Pascal‘s Triangle,即杨辉三角.那么就先去Wikipedia上面复习一下杨辉三角吧:”杨辉三角形,又称賈憲三角形.帕斯卡三角形.海亚姆三角形,是二项式係數在的

输出杨辉三角(C++和 JAVA版 )

C++版本: #include <iostream> using namespace std; void main() { int n=10; while(n!=-1) { cout<<"请输入 杨辉三角 行数:"; cin>>n; int **a = new int* [n]; for(int m = 0; m < n; m++) { a[m] = new int [n]; } for(int i=0;i<n;i++) { for(in

【LeetCode-面试算法经典-Java实现】【119-Pascal&#39;s Triangle II(帕斯卡三角形(杨辉三角)II)】

[119-Pascal's Triangle II(帕斯卡三角形(杨辉三角)II)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3,3,1]. Note: Could you optimize your algorithm to use only O(k) extra

Java之杨辉三角的实现

今天突然想温习一下Java的基础,想了想就写写杨辉三角吧 1 public class First 2 { 3 public static void main(String[] args) 4 { 5 int[][] Arr = new int[5][]; 6 for(int i = 0; i < Arr.length; i++) 7 { 8 Arr[i] = new int[i + 1]; 9 Arr[i][0] = 1; 10 Arr[i][i] = 1; 11 for(int j = 0;

hdu 2032 杨辉三角 (java)

问题: 本题要求看出杨辉三角的规律,即:a[i][j]=a[i-1][j-1]+a[i-1][j]; 在输出的时候第一列没有输出,原因是j参数设置的是从1开始的,故将其改为0,用if满足j从一开始的需求就可以了. 杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 43154    Accepted Submission(s):

Java基础------杨辉三角(递归实现)

  第一列 第二列 第三列 第四列 第五列 第六列 第七列 第八列 第九列 第十列 第十一列 ...... 第一行 第一个空格  第二个空格  第三个空格  第四个空格 第五个空格 1             第二行 第一个空格 第二个空格  第三个空格 第四个空格 1   1           第三行 第一个空格 第二个空格  第三个空格 1   2   1         第四行 第一个空格 第二个空格 1   3   3   1       第五行 第三个空格 1   4   6   4

Java编程-输出杨辉三角前10行

public class YanghuiTriangle { public static void main(String[] args) { int triangle[][]=new int[10][];// 创建二维数组 // 遍历二维数组的第一层 for (int i = 0; i < triangle.length; i++) { triangle[i]=new int[i+1];// 初始化第二层数组的大小 // 遍历第二层数组 for(int j=0;j<=i;j++){ if(i

JAVA实现杨辉三角的三种方式

一.前言 既然是实现杨辉三角,就要知道什么是杨辉三角.如下图,就是两种杨辉三角. (1)等边形状的杨辉三角 (2)直角形状的杨辉三角 在知道这两种都是杨辉三角之后,我们就来实现利用java语言打印出杨辉三角. 二.杨辉三角的规律 第n行有n个数字. 每一行的开始和结尾数字都为1. 用二维数组表示就是a[i][0]=1;  a[i][j]=1(当i==j时): 第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字. 用二维数组表示就是 a[i+1][j]=a[i][j-1]+a[i]