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

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

1. 杨辉三角的概述  

  前提:每行端点与结尾的数为1.

  1. 每个数等于它上方两数之和。
  2. 每行数字左右对称,由1开始逐渐变大。
  3. 第n行的数字有n项。
  4. 第n行数字和为2n-1
  5. 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
  6. 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。
  7. 每个数字等于上一行的左右两个数字之和。

2. 杨辉三角的Java实现

  

原文地址:https://www.cnblogs.com/nancyzhang/p/8157736.html

时间: 2024-10-08 21:30:55

Java基础------杨辉三角(递归实现)的相关文章

Pascal'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上面复习一下杨辉三角吧:”杨辉三角形,又称賈憲三角形.帕斯卡三角形.海亚姆三角形,是二项式係數在的

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;

使用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)等边形状的杨辉三角 (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]

Java打印杨辉三角

/** * 打印杨辉三角 功能描述:使用多重循环打印6阶杨辉三角 * @author Administrator * */ public class sz_7 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入行号:"); int m = in.nextInt(); int n = 2*m-1;//列元素数: int arr[][]

java编程杨辉三角

import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stubScanner input=new Scanner(System.in);int n=input.nextInt();                                         //输入行数int [][]a=new int[n][n];

JAVA实现杨辉三角

package com.test; import java.util.Scanner; public class Test { /**     * @param args     */ public static void main(String[] args)// 创建一个对象用来调用,实现控制台输入输出,因为输入的是字符,所以a.show调用对象的时候强调转换一下. { YangHui a = new YangHui(); Scanner s = new Scanner(System.in)

算法基础_递归_求杨辉三角第m行第n个数字

问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好): import java.util.Scanner; /** * 求杨辉三角第m层第n个数字 * @author Administrator * */ public class Demo05 { public static int f(int m,int n) { if(n==0)return 1

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

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