杨辉三角用了两种方法解决

二维数组/递归方法

+——————————————————————————

import java.util.Scanner;

public class YangHui02 {
/*
* 杨辉三角
* */
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入杨辉三角的行数");
int n = input.nextInt();

//定义一个二维数组
int[][] arr = new int[n][n];

//给这个二维数组任何一行的第一列和最后一列赋值为1
for(int i = 0;i < arr.length;i++){
arr[i][0] = 1; //任何一行的第一列
arr[i][i] = 1; //任何一行的最后一列
}

//从第三行开始,每一个数据是他上一行的前一列和它上一行当前列之和
for(int i = 2;i < arr.length;i++){
//如果 j < i 要考虑最后一列的问题
//所以这里要减去 1
for(int j = 1;j <= i - 1;j++){
arr[i][j] = arr[i -1][j - 1] + arr[i-1][j];
}
}

//遍历这个二维数组 形成九九乘法表
for(int i =0;i < arr.length;i++){
for(int x = 0;x < arr.length-i;x++){ //打印出空格
System.out.print(" ");
}

for(int j = 0; j <= i;j++){
System.out.printf("%4d",arr[i][j]);
}
System.out.println();
}

}
}

------——————————————

递归实现

public class YangHui {
public static int fun(int i,int j) {
if(j == 1 || i == j) {
return 1;
}else {
return fun(i-1,j)+fun(i-1,j-1);
}
}
public static void main(String[] args) {

int length = 10; // 打印的行数

for (int i = 1; i <= length; i++) { // 打印空格
for (int j = 1; j <= length-i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.printf("%4d",fun(i,j));
}
System.out.println();
}
}

}

Java实现杨辉三角的更多相关文章

  1. 使用Java打印杨辉三角

    package 杨辉三角; import java.util.Scanner; public class 三角 { private static Scanner scn; public static ...

  2. [Java练习题] -- 1. 使用java打印杨辉三角

    package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...

  3. Java之杨辉三角的实现

    今天突然想温习一下Java的基础,想了想就写写杨辉三角吧 1.直接法,利用二维数组 import java.util.Scanner; public class Second { public sta ...

  4. java编写杨辉三角

    import java.util.Scanner; /* *计算杨辉三角: * 规律:两边都是1 * 从第三行开始,上一行的前一个元素+与其并排的元素等于下面的元素 * 例如: * 1 * 11 * ...

  5. Pascal's Triangle leetcode java(杨辉三角)

    题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, ...

  6. 用java输出杨辉三角

    杨辉三角:它的两个边都是1,内部其它都是肩上两个数的和 第一种: package aaa; public class YangHui { public static void main(String[ ...

  7. java实现杨辉三角系数

    ** 杨辉三角系数** (a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1, 1 3 3 1,1 4 6 4 1.这些系数构成了著名的杨辉三角形: 1 1 1 1 ...

  8. 【JAVA】杨辉三角

    ソース public Yanghui3jiao() { List<String[]> rowList = new ArrayList<String[]>(); List< ...

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

    (1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...

随机推荐

  1. 077、跨主机使用Rex-Ray volume (2019-04-24 周三)

    参考https://www.cnblogs.com/CloudMan6/p/7630205.html   上一节我们在docker1上创建mysql容器,并使用了 Rex-Ray volume mys ...

  2. ArcGIS Editor for Open Street Map 10.X for Desktop下载地址

    ArcGIS Editor for Open Street Map可用于导入从OSM下载的地图,但并不是ArcGIS自带的工具,需要从官网下载,虽然文件很小,但下载速度较慢,易断开. 在此为找不到或不 ...

  3. react native 子组件向父组件传值

    父组件:   引入子组件:import CheckBox from  '../checkbox';   父子之间交互通信,接受子组件的值 fn(val){this.setState({roleType ...

  4. luogu P5319 [BJOI2019]奥术神杖

    传送门 要求的东西带个根号,这玩意叫几何平均数,说到平均数,我们就能想到算术平均数(就是一般意义下的平均数),而这个东西是一堆数之积开根号,所以如果每个数取对数,那么乘法会变成加法,开根号变成除法,所 ...

  5. Intellij IDEA 修改jsp 不能实时更新

    Intellij IDEA 修改jsp 不能实时更新 1. 首先,output要指定到项目的webapp下,这样应该就可以实时更新了 2. 我的问题是这样设置之后,也不可以,原来是可以的,重装系统之后 ...

  6. Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes

    题目链接 题意:给你一个长度n,还有2*n-2个字符串,长度相同的字符串一个数前缀一个是后缀,让你把每个串标一下是前缀还是后缀,输出任意解即可. 思路;因为不知道前缀还是后缀所以只能搜,但可以肯定的是 ...

  7. $(document).ready和window.onload的区别

    $(document).ready比window.onload先执行.window.onload只执行一次. $(document).ready和window.onload都是在都是在页面加载完执行的 ...

  8. 发送邮件工具类MailHelper

    using System; using System.Net; using System.Net.Mail; using System.Text; using System.Threading; na ...

  9. win10遇见的问题

    所有问题的终极解决办法:系统重置 1.Windows PowerShell打不开,重装.net framework装不上 电脑系统为win10企业版,今天第n遍安装sql server 2017的时候 ...

  10. 字符串string的相关应用

    之所以抛弃char* 的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等, 而且作为一个泛型类出现,他集成的操作函数足以完成我们大多数情况下 ...