当前位置: 首页 > news >正文

杨辉三角【Java二维数组】

这个代码中,我们定义了一个二维数组nums来存储杨辉三角的每一个数字。在for循环中,我们初始化每一行的第一个和最后一个数字,并且根据上一行的数字来计算出中间的数字。

接着,我们使用两个嵌套的for循环来输出杨辉三角。第一个循环用来遍历每一行,第二个循环用来遍历每一行中的数字。在第二个循环中,我们还使用了一个for循环来打印数字之间的空格,以使三角形更加美观。

杨辉三角是一种数学图形,可以用来展示一些数字之间的规律。它的一些特殊性质包括每一行的两个端点都为1,中间的数字是上一行相邻两个数字之和。杨辉三角在组合数学中有着广泛的应用,例如可用于计算二项式系数。

代码如下:

package com.Array;import java.util.Arrays;public class day809ArrayHomework03 {public void home4() {/*杨辉三角编写一个程序,生成一个给定行数的杨辉三角11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1*//*这个代码中,每一行的作用如下:第1行:方法声明,传入一个参数n,表示要打印的杨辉三角的行数。第2行:定义一个二维数组nums,用于存储杨辉三角的每一个数字。第3-8行:for循环,遍历每一行,初始化当前行的数组。其中,nums[i] = new int[i + 1]表示定义当前行的长度为i+1,即第1行长度为1,第2行长度为2,以此类推;nums[i][0] = 1和nums[i][i] = 1表示每一行的两个端点都为1;nums[i][j] = nums[i - 1][j - 1] + nums[i - 1][j]表示中间的数字是上一行相邻两个数字之和。第9-15行:for循环,遍历每一行,输出杨辉三角。其中,for (int j = 0; j < n - i - 1; j++)表示打印数字之间的空格;System.out.print(nums[i][j] + " ")表示输出当前数字;System.out.println()表示换行,开始输出下一行。* */// 用户输入要打印的行数int n = 6;int[][] nums = new int[n][];  // 定义一个二维数组存储杨辉三角的每一个数字for (int i = 0; i < n; i++) {  // 遍历每一行nums[i] = new int[i + 1];  // 初始化当前行的数组nums[i][0] = 1;  // 每一行的第一个数字为1for (int j = 1; j < i; j++) {  // 遍历当前行中间的数字nums[i][j] = nums[i - 1][j - 1] + nums[i - 1][j];  // 根据上一行的数字计算出当前数字}nums[i][i] = 1;  // 每一行的最后一个数字为1}// 输出for (int i = 0; i < n; i++) {  // 遍历每一行for (int j = 0; j < n - i - 1; j++) {  // 打印数字之间的空格,使三角形更美观System.out.print(" ");}for (int j = 0; j <= i; j++) {  // 遍历当前行中的数字System.out.print(nums[i][j] + " ");  // 输出当前数字}System.out.println();  // 换行,开始输出下一行}}
}

 

http://www.lryc.cn/news/116134.html

相关文章:

  • 解决SpringBoot服务返回数据存在$ref $.data等相关问题
  • 【iOS安全】开启任意app的WebView远程调试
  • windows下 java程序无窗口启动、无窗口启动java -jar
  • 锦程消费金融业务生变:App下架,部分自营信贷暂停
  • Python爬虫在框架下的合规操作与风险控制
  • 前端页面如何创建表格?table的结构、属性有哪些?
  • 神码ai伪原创工具【php源码】
  • Linux命令200例:mkdir用于创建目录(常用)
  • C语言内嵌汇编
  • 《网络是怎样连接的》(三)
  • SpringBoot 配置文件
  • 【K8S】 deployment.yaml文件与Service yaml文件详解
  • GMSL 9296芯片对GMSL链路 插损/回损/线束要求
  • 用库造一个list的轮子 【C++】
  • java中的,>>,<<位运算
  • 成功解决Android设备adb连接后显示device unauthorized
  • 初识mysql数据库之引入mysql客户端库
  • 勘探开发人工智能技术:机器学习(1)
  • MySQL查看当前数据库视图-SQL语句
  • Clickhouse 存储引擎
  • 基于golang多消息队列中间件的封装nsq,rabbitmq,kafka
  • 【第一阶段】kotlin的函数
  • PAM安全配置-用户密码锁定策略
  • AndroidManifest.xml日常笔记
  • SpringBoot异步框架
  • 导出LLaMA ChatGlm2等LLM模型为onnx
  • C++项目:在线五子棋对战网页版--匹配对战模块开发
  • ssh 连接断开,正在执行的shell脚本也被中断了
  • UML 用例图,类图,时序图,活动图
  • Java 面试题2023