iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java语言实现杨辉三角
  • 403
分享到

Java语言实现杨辉三角

java 2023-10-08 08:10:16 403人浏览 八月长安
摘要

一.提出问题。 使用二维数组打印出如下图的杨辉三角。 二.分析问题。 1.首先想要输出杨辉三角,就要找到它有什么规律? ①第n行有n个数字; ②每一行开始和结束的数字都为1; ③每一个数字都等于它的

一.提出问题。
使用二维数组打印出如下图的杨辉三角。
在这里插入图片描述
二.分析问题。
1.首先想要输出杨辉三角,就要找到它有什么规律?
①第n行有n个数字;
②每一行开始和结束的数字都为1;
每一个数字都等于它的左上角的数字与右上角数字之和
2.其次题目要使用二维数组打印杨辉三角,我们该如何用二维数组表示?
我们可以创建一个二维数组,来表示杨辉三角的行和列。空白的位置我们可以用数字0表示。通过题目所给出的图,我们可以看出,这是一个10行,21列的杨辉三角。

//创建二维数组 int[][] arr=new int[10][21];

在这里插入图片描述
得到这个初始二维数组,我们可以根据杨辉三角的规律进行遍历赋值。
3.如何给二维数组赋值?
有题目给出的图片可得,第一行只有一个数字且永远为1,所以我们可以先给第一行进行赋值,然后根据规律向下展开赋值。
赋值时要注意杨辉三角行和列的表示与二维数组索引的关系。索引是从0开始的,所以第n行应该是n-1;

//对第一行最中间的数赋值arr[0][10]=1;//根据杨辉三角的规律,使用二维数组遍历,赋值for(int i=1;i< arr.length;i++){//第一行已经赋值,所以从第2行开始到第10行  for(int j=1;j<arr[i].length-1;j++){//由于每一行的最左列和最右列分别没有左上值和右上值,所以每一行的遍历应从第2列开始到第20列                   arr[i][j]=arr[i-1][j-1]+arr[i-1][j+1];//杨辉三角中的值等于它的左上角的值+右上角的值。            }        }

在这里插入图片描述

4.经过第三步给二维数组赋值之后,我们应如何输出这个杨辉三角呢?
将第三步得出的二维数组与题目所给的杨辉三角进行比较后发现,输出时,为0的话不能输出,要用空格代替,输出不为零的数。

 //遍历输出杨辉三角  for(int i=0;i< arr.length;i++){ //从第一个一维数组开始       for(int j=0;j<arr[i].length;j++){//输出第i个一维数组中的值               if(arr[i][j]!=0){ //如果值不等于零时,将它输出                    System.out.print(arr[i][j]+" ");             }else{ //如果值等于零,用空格代替                    System.out.print(" ");                }            }            System.out.println();        }

在这里插入图片描述
得出此杨辉三角我们发现,这并不是一个等边三角形,所以此时我们需要使用“\t”来代替“ ”;
"\t"相当于表格制表符tab键,一个格内放8的整数倍的字符,根据显示的字符串长度,剩下的显示空格数。
三.解决问题。
经过一系列的分析,我们可以得到解决这个问题的完整代码:

public class Yhsanjiao {    public static void main(String[] args) {    //第一步:创建二维数组        int[][] arr=new int[10][21];   //第二步:根据杨辉三角的规律,对二维数组遍历赋值        //给第一行最中间赋值1        arr[0][10]=1;        for(int i=1;i< arr.length;i++){            //每一行从第二个数开始到倒数第二个结束,因为最左边没有左上的值,最右边没有右上的值都为0            for(int j=1;j<arr[i].length-1;j++){                //杨辉三角中的值等于它的左上角的值+右上角的值。                arr[i][j]=arr[i-1][j-1]+arr[i-1][j+1];            }        }   //第三步:遍历输出杨辉三角        //从第一个一维数组开始        for(int i=0;i< arr.length;i++){            //输出第i个一维数组中的值            for(int j=0;j<arr[i].length;j++){                //如果值不等于零时,将它输出                if(arr[i][j]!=0){                    System.out.print(arr[i][j]+"\t");                //如果值等于零,用空格代替                }else{                    System.out.print(" \t");                }            }            System.out.println();        }    }}

在这里插入图片描述
四.代码优化。
以上题目需要输出一个10层的等边杨辉三角,我们可以对层数进行一个输入,这样需要几层输入几层就可以。

import java.util.Scanner;public class Yhsanjiao {    public static void main(String[] args) {        Scanner s=new Scanner(System.in);        System.out.println("请输入杨辉三角的层数:");//为了输出美观,层数不要超过13.若层数需要超过13,可以通过添加输出杨辉三角中的"\t"来运行。        int row=s.nextInt();//输入一个杨辉三角的层数。        //确定二维数组的长度                int[][] arr=new int[row][2*row+1];        //给第一行最中间赋值1        arr[0][row]=1;        //将杨辉三角中的数表示出来    第一行arr[0][row]直接赋值,所以从第二行开始        for(int i=1;i< arr.length;i++){            //每一行从第二个数开始到倒数第二个结束,因为最左边没有左上的值,最右边没有右上的值都为0            for(int j=1;j<arr[i].length-1;j++){                //杨辉三角中的值等于它的左上角的值+右上角的值。                arr[i][j]=arr[i-1][j-1]+arr[i-1][j+1];            }        }        //遍历输出杨辉三角        //从第一个一维数组开始        for(int i=0;i< arr.length;i++){            //输出第i个一维数组中的值            for(int j=0;j<arr[i].length;j++){                //如果值不等于零时,将它输出                if(arr[i][j]!=0){                    System.out.print(arr[i][j]+"\t");                //如果值等于零,用空格代替                }else{                    System.out.print(" \t");                }            }            System.out.println();        }    }}

在这里插入图片描述

来源地址:https://blog.csdn.net/m0_58024723/article/details/127940706

--结束END--

本文标题: Java语言实现杨辉三角

本文链接: https://www.lsjlt.com/news/425145.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java语言实现杨辉三角
    一.提出问题。 使用二维数组打印出如下图的杨辉三角。 二.分析问题。 1.首先想要输出杨辉三角,就要找到它有什么规律? ①第n行有n个数字; ②每一行开始和结束的数字都为1; ③每一个数字都等于它的...
    99+
    2023-10-08
    java
  • C语言怎么实现杨辉三角
    本篇内容介绍了“C语言怎么实现杨辉三角”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!杨辉三角——C语言实现杨辉三角:在屏幕上打印杨辉三角。1...
    99+
    2023-06-22
  • 用JAVA实现杨辉三角实例
            这是我的第一篇文章,我的想法是把自己再学习的路上遇到的困难都给记录下来,一来是方便以后...
    99+
    2024-04-02
  • C语言如何实现打印杨辉三角
    这篇文章给大家分享的是有关C语言如何实现打印杨辉三角的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。题目描述打印杨辉三角(前N行)问题分析杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在...
    99+
    2023-06-22
  • C语言杨辉三角两种实现方法
    目录杨辉三角——C语言实现方法一:利用二维数组实现方法二(对方法一的改进): 总结杨辉三角——C语言实现 杨辉三角: 在屏幕上打印杨辉三角。 1 1 1 1 2 1 1 3 3 1...
    99+
    2024-04-02
  • C++实现LeetCode(118.杨辉三角)
    [LeetCode] 118.Pascal's Triangle 杨辉三角 Given a non-negative integer numRows, generate t...
    99+
    2024-04-02
  • 怎么用JAVA实现杨辉三角实例
    这篇文章给大家介绍怎么用JAVA实现杨辉三角实例,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。        题目是: &nbs...
    99+
    2023-06-26
  • Python实现:杨辉三角思路
     杨辉三角有以下几个特点 : 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 第n行数字和为2n-1。 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m...
    99+
    2023-01-30
    思路 杨辉三角 Python
  • C语言中杨氏矩阵与杨辉三角的实现方法
    一、杨氏矩阵 杨氏矩阵 1.杨氏矩阵的概念 在数学中,杨表(英语:Young tableau),又称杨氏矩阵。是对组合表示理论和舒伯特演算很有用的工具。它提供了一种方便的方式来描述...
    99+
    2024-04-02
  • C语言实现动态开辟存储杨辉三角
    目录问题引入解决方法思路分析C代码实现C++实现问题引入 杨辉三角相必大家并不陌生,第1行有1列、第二行有2列…第n行有n列,且每行行首和行尾的值都为1,其余的值为上一...
    99+
    2024-04-02
  • C语言如何打印杨辉三角形
    小编给大家分享一下C语言如何打印杨辉三角形,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 题目描述杨辉三角形解题之前,我们先来了解一下杨辉三角形到底是什么?杨...
    99+
    2023-06-29
  • 怎么用PHP实现杨辉三角
    这篇文章主要讲解了“怎么用PHP实现杨辉三角”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用PHP实现杨辉三角”吧!代码如下 来自我的博客&n...
    99+
    2024-04-02
  • 怎么在C语言中实现一个杨氏矩阵与杨辉三角
    这篇文章将为大家详细讲解有关怎么在C语言中实现一个杨氏矩阵与杨辉三角,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层...
    99+
    2023-06-15
  • C++实现LeetCode(119.杨辉三角之二)
    [LeetCode] 119. Pascal's Triangle II 杨辉三角之二 Given a non-negative index k whe...
    99+
    2024-04-02
  • C语言如何实现动态开辟存储杨辉三角
    本文小编为大家详细介绍“C语言如何实现动态开辟存储杨辉三角”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现动态开辟存储杨辉三角”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。问题引入杨辉三角相必大家并...
    99+
    2023-06-29
  • C语言打印杨辉三角形的示例代码
    目录1. 题目描述2. 解题思路3. 动图演示4. 代码实现Step1Step2居中显示5. 完整代码6. 特性总结1. 题目描述 杨辉三角形 解题之前,我们先来了解一下杨辉三角形到...
    99+
    2024-04-02
  • C语言实现打印杨辉三角的方法详细(三种方法)
    目录题目描述问题分析1. 使用数组法(打印直角三角)2. 使用数组法(打印等腰三角)3. 使用公式法(打印等腰三角)网上参考题目描述 打印杨辉三角(前N行) 问题分析 杨辉三角是中国...
    99+
    2024-04-02
  • 使用c语言如何输出一个杨辉三角形
    本文章向大家介绍使用c语言如何输出一个杨辉三角形,主要包括使用c语言如何输出一个杨辉三角形的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。C语言是什么C语言是一门面向过程的、抽象化的通用程序设...
    99+
    2023-06-06
  • JavaScript如何输出杨辉三角
    目录JavaScript输出杨辉三角输出杨辉三角,如就要先找到其规律完整代码如下所示总结JavaScript输出杨辉三角 杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角...
    99+
    2023-01-28
    JavaScript杨辉三角 杨辉三角 JS输出杨辉三角
  • 批处理bat如何实现杨辉三角效果
    这篇文章主要介绍了批处理bat如何实现杨辉三角效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图:代码如下:@echo off&color 0esetlocal...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作