Java实现杨辉三角形
一:前言
实现杨辉三角,需要知道什么是杨辉三角。如下图,就是两种杨辉三角。这两种杨辉三角形是目前最常见的:
(1)等边形状的杨辉三角
(2)直角形状的杨辉三角
二、杨辉三角形的规律
第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][j];
三、示例 (创建一个长度为10,宽度为10的二维数组,但赋值和输出时只输出杨辉三角那个范围的数)
首先,我们来看看这个长度为10,宽度为10 的数组究竟是怎么回事
public class Test {public static void main(String[] args) {int [][] arr=new int [10][10];for(int i=0;i<arr.length;i++) {for(int j=0;j<arr[i].length;j++) {System.out.print(arr[i][j]+"\t");}System.out.println();}}
}
第一种方法
public class Triangle1 {public static void main(String[] args) {//定义了一个长度为10,高度为10的二维数组,数组中的值都为0;int[][] arr=new int[10][10];for(int i=0;i<arr.length; i++) {//由于只是给杨辉三角内的位置赋值,所以是j<=ifor(int j=0;j<=i;j++) {//根据规律,使用if else 赋值if(j==0||j==i) {arr[i][j]=1;}else {arr[i][j]=arr[i-1][j-1]+arr[i-1][j];}/*由于只是输出杨辉三角范围内的值,所以在内层循环就输出,这种方法不能全部赋值完之后再输出"\t"的原因是10和小于10的数组的宽度不同,所以使用\t制表符能使数与数之间距离相等*/System.out.print(arr[i][j]+"\t");}System.out.println();}}
}
第二种方法 (这里用这种是输出的一个直角三角形,但是在最后输出的时候加上一段就可以变成等腰三角形了)
public class Triangle2 {public static void main(String[] args) {int[][] arr=new int[10][];for(int i=0;i<arr.length;i++) {arr[i]=new int[i+1];}for(int i=0;i<arr.length;i++) {for(int j=0;j<arr[i].length;j++) {if(j==0 || i==j) {arr[i][j]=1;}else {arr[i][j]=arr[i-1][j]+arr[i-1][j-1];}}}for(int i=0;i<arr.length;i++) {for(int j=0;j<arr[i].length;j++) {System.out.print(arr[i][j]+"\t");}System.out.println();}}
}
等边三角形:
public class Triangle3 {public static void main(String[] args) {int rows = 10;for (int i = 0; i < rows; i++) {int number = 1;// 打印空格字符串System.out.format("%" + (rows - i) * 2 + "s", "");for (int j = 0; j <= i; j++) {System.out.format("%4d", number);number = number * (i - j) / (j + 1);}System.out.println();}}
}
重点在于那个number=number*(i-j)/(j+1),掌握了杨辉三角的作用。而关于System.out.format是一种类似于C语言中的输出,查看API即可知。
参考链接地址
Java实现杨辉三角形相关推荐
- 1.22 实例:Java输出杨辉三角形(使用二维数组)
利用 Java 的二维数组来输出指定行数的杨辉三角形. 杨辉三角形由数字进行排列,可以把它看作是一个数字表,其基本特性是两侧数值均为 1,其他位置的数值是其左上方数值与右上角数值之和.打印杨辉三角形时 ...
- Java教程:Java输出杨辉三角形
Java教程本节利用过 Java 语言中的流程控制语句,如条件语句.循环语句和跳转语句等知识输出一个指定行数的杨辉三角形. 杨辉三角形由数字进行排列,可以把它看作是一个数字表,其基本特性是两侧数值均为 ...
- java等腰杨辉三角形
用java实现等腰杨辉三角 规律:与直角杨辉三角形一样:(最下面有直角杨辉三角的链接) 编程思路:与直角杨辉三角形一样,唯一的区别就是一个是直角三角形,一个是等腰三角形,打印出等腰三角形,注意空格数和 ...
- JAVA 输出杨辉三角形
package day08;import java.util.Scanner;/*** @author 思弈禾* @PROJECT sggjava* @create 2022-08-19 15:19* ...
- Java —— 打印杨辉三角形
杨辉三角 杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数 学家杨辉1261年所著的<详解九章算法>一书中出现.[解释来源于百度] [代码展示及效果图] import java. ...
- java直角杨辉三角形
** 用java实现直角杨辉三角 一.杨辉三角规律: 1.看题目要求,输出几行几列,杨辉三角有几行就有几列,所以输出几行就输出几列(例如:输出6行,那就是有6列,具体看图) 2.每一行第一列,每一行最 ...
- Java打印杨辉三角形/帕斯卡三角形(含注释)
代码: package autonomous_practice;import java.util.*;public class Pascals_triangle_print {public stati ...
- java实现杨辉三角形,蓝桥杯杨辉三角
杨辉三角结合图片分析是很容易理解的,特点就是三角形中的每个数字等于它上面的数字和他左上的数字相加. 图片: 代码如下: int [][] a=new int [8][8];//定义一个8行8列二维数组 ...
- 打印杨辉三角的java代码,打印打印杨辉三角形怎么编程?
打印打印杨辉三角形怎么编程? 打印杨辉三角形(要求打印10行) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 - 各位大虾能 ...
- python输出杨辉三角啊二维数组_Java输出杨辉三角形(使用二维数组)
在<Java输出杨辉三角形>一节中我们使用 Java 语言中的流程控制语句输出一个指定行数的杨辉三角形.本节我们利用 Java 的二维数组来输出指定行数的杨辉三角形. 杨辉三角形由数字进行 ...
最新文章
- 【408预推免复习】计算机网络(谢希仁第七版)第二章——物理层
- JZOJ 5474. 【NOIP2017提高组正式赛】时间复杂度
- Linux命令pdm -cli,pdm下载器下载 Persepolis Download Manager(aria2下载器) v3.1.0 Linux 官方安装免费版 下载-脚本之家...
- ListString^^ 引用空间
- Python 程序和 C 程序的整合
- 41 MM配置-采购-采购订单-STO配置-定义凭证类型和可用性检查设置
- [Luogu5105]不强制在线的动态快速排序
- dueros模拟测试没有请求后台_DuerOS开放平台
- 小程序 php wecahtpay,【PHP】laravel 实现微信小程序微信支付功能
- php api框架 登录验证码,thinkphp3.2 框架如何使用验证码
- 微型计算机原理及应用贾金铃,计算机科学与技术专业本科系列教材·微型计算机原理及应用:理论、实验、课程设计...
- bom树形结构 表设计_按树型显示BOM的结构
- navigator 导航标签
- 论文笔记之Understanding and Diagnosing Visual Tracking Systems
- 计算机鼠标不出现在电脑屏幕上,电脑一打开就这样了,台式的,电脑屏幕不出现鼠标,求大神帮助...
- 递归算法之蜜蜂路线问题
- 65536个连接”误解
- 2022-2028全球氨洗涤器行业调研及趋势分析报告
- java applet 打印_applet 打印常见问题与解决方法
- 关于企业服务总线ESB
热门文章
- 漫画 | 放弃吧,技术分享根本搞不起来!
- java画一个八卦_View绘制系列(9)-Canvas八卦图绘制
- Beyond Compare的文档比较工具的设置
- python判断一个数是素数_使用Python语言判断质数(素数)的简单方法讲解
- 如何修改网络游戏服务器端的数据,网络游戏服务器端编程:数据操纵语句
- 使用C语言写入word文档 C语言编程基础
- ios更新了系统无服务器,苹果手机的iOS系统没法更新怎么办?
- (1.4.10.1)SXF测试笔试题
- 解决master[remote rejected] pre-receive hook declined
- 设置cmd命令提示符窗口界面语言为英文