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

牛客算法基础noob51 杨辉三角

描述
杨辉三角形(又称帕斯卡三角形)的第i+1行对应二项式展开式(a+b)^i的系数。其特点是任意位置的元素等于上一行同列元素与上一行前一列元素之和。

以下展示前4行示例:
1
1 1
1 2 1
1 3 3 1

输入要求:
给定一个正整数n(1 ≤ n ≤ 34),输出前n行杨辉三角形。

输入格式:
在一行中输入整数n

输出格式:
从第一行开始逐行输出,数字间用单个空格分隔,行末不得有多余空格。

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();
//下面数组确定有多少行,但不确定有多少列,这种写法适合每行长度不同的场景,后续可以根据需要为每行分配不同的长度int[][] arr = new int[n][];//构建杨辉三角for(int i = 0;i<n;i++){//遍历每一行//第i行(从0开始计数)有i+1个元素,所以我们先创建行//初始化第一行,长度为i+1arr[i] = new int[i+1];//控制每行的第一个元素为1arr[i][0]  = 1;//每行的最后一个元素为1arr[i][i] = 1;//计算中间元素:等于上一行同列元素与上一行前一列元素之和//j = 1:从第 2 个元素开始(跳过第一个元素,因为它固定为 1)//j < i:循环到当前行的倒数第二个元素结束(跳过最后一个元素,因为它也固定为 1)for(int j = 1;j<i;j++){//当前行第 j 列的元素 = 上一行第 j-1 列的元素 + 上一行第 j 列的元素arr[i][j] = arr[i-1][j-1]+arr[i-1][j];}}//输出杨辉三角for(int i=0;i<n;i++){for(int j = 0;j<=i;j++){System.out.print(arr[i][j]);//除了最后一个元素,其他元素后加空格if(j<i){System.out.print( " " );}}System.out.println();}}
}

http://www.dtcms.com/a/399658.html

相关文章:

  • SVN忽略文件不生效
  • MyBatis开启自动下划线转驼峰
  • 自己做网站 搜索功能开发汽车商城网站模板免费下载
  • 加拿大住宅代理指南(2025年更新)
  • 专门建站的公司制作u盘启动盘
  • redis的set集合的常规使用
  • 【C++模板编程】从泛型思想到实战应用
  • auto 关键字
  • 工程项目建设自学网站哪家网站开发好
  • 企业网站建设文档微信开发应用平台
  • 大语言模型本身有记忆功能吗?
  • 解决Initializing Python failed: Failed to import encodings module错误
  • 上海做网站哪里有wordpress环境安装
  • 兖州市做网站wordpress电子商务视频教程
  • 优秀网站模板中国10大装修公司排名
  • python++springboot+nodejs微信小程序高校实验室管理系统 实验室预约登记 设备借用管理 实验记录审核系统
  • 外贸精品网站建设网站运营介绍
  • 构建神经网络的两大核心工具
  • 品牌高端网站制作金蝶软件多少钱
  • 基于STM32舞台彩灯控制器设计app控制系统
  • 2D激光定位与建图
  • shell编程:grep - 文本搜索利器(1)
  • 网站建设制作公司地址做照片书网站
  • 鸿蒙Next远端状态订阅开发实例:实现进程状态监控与资源管理
  • 济宁做网站的WordPress重新安装删除哪个
  • Deep Residual Learning for Image Recognition 阅读笔记
  • 【AI】【Java后端】深度解析 RAG 高级功能:从原理到落地实践
  • 微信移动网站建设做电影网站用什么空间
  • 银行测试存款业务(四)
  • C#练习题——匿名方法与闭包实战:函数式编程的优雅实现