用JAVA实现杨辉三角实例

作者:是小徐了 时间:2023-08-28 16:45:23 

        这是我的第一篇文章,我的想法是把自己再学习的路上遇到的困难都给记录下来,一来是方便以后的自我复习,二来就是大家资源共享,帮助和我一样遇到困难的小伙伴们。

        这是我遇到的第一个难题。

        题目是:

        杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

        输入包含一个数n。(1 <= n <= 34)

       输出格式:n=5:数和数之间有空格

                                                

用JAVA实现杨辉三角实例

         首先我们应该想着如何打印一个边长=n等边直角三角形,这里我们可以运用 嵌套循环 就可以轻松做到:


import java.util.Scanner;

public class Tast01 {
public static void main(String[] args) {
Scanner arr=new Scanner(System .in );
int n=arr.nextInt();
for (int i = 0; i < n; i++) {//行
for (int j = 0; j <= i; j++) {//列
if(j==0) {
System.out.print(0);
}else {
System.out.print(" "+0);
}
}
System.out.println();//换行
}
}
}

运行结果如下:

用JAVA实现杨辉三角实例

         现在我们就想着如何将0分别改为对应的数字即可,这里我们应用到  二维数组(int [][]sc=new int[列][行];)  既可以知道每个数对应的位置,也可以让每个数之间存在了联系。

首先定义长度:这里大家要明白长度的定义为:每个数都有家可寻。

         下图可以清晰地解释:下一行的数等于&ldquo;肩上&rdquo;两数之和。

用JAVA实现杨辉三角实例

        具体实现代码如下 :


import java.util.Scanner;

public class Tast02 {
public static void main(String[] args) {
Scanner arr = new Scanner(System.in);
int n = arr.nextInt();   //键盘输入n
int[][] sc = new int[n][n];
for (int i = 0; i < sc.length; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {    // 第一列全为1
sc[i][j] = 1;
} else {
sc[i][j] = sc[i - 1][j - 1] + sc[i - 1][j];//下一行的数等于“肩上”两数之和。
}
}
}
for (int i = 0; i < n; i++) {                          // 行
for (int j = 0; j <= i; j++) {   // 列
if (j == 0) {
System.out.print(sc[i][j]);
} else {
System.out.print(" " + sc[i][j]);
}
}
System.out.println(); // 换行
}

}
}

这题到这也就结束了,后续还会继续更新我在学习中遇到的的较为困难的题目和大家分享,大家要是喜欢的话可以点个关注,防丢失。大家也可以私信我自己在学习中遇到的难题,大家共同学习,共同进步。

来源:https://blog.csdn.net/dqingsf/article/details/122428465

标签:java,杨辉三角
0
投稿

猜你喜欢

  • 基于java查找并打印输出字符串中字符出现次数

    2022-07-28 19:45:47
  • Java获取文件的类型和扩展名的实现方法

    2021-09-24 08:56:56
  • Android开发之线程通信详解

    2022-08-21 21:37:34
  • Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式

    2023-02-28 06:50:24
  • java高并发锁的3种实现示例代码

    2022-05-23 16:45:47
  • C#学习笔记——基本语法

    2022-10-13 13:39:54
  • 详解SpringMVC使用MultipartFile实现文件的上传

    2023-03-28 00:48:18
  • Mybatis实现增删改查

    2022-05-26 22:00:20
  • Java构造函数的相互调用代码示例

    2023-07-01 21:42:11
  • Java中对象的销毁方法分析

    2023-01-09 16:44:29
  • Java中OAuth2.0第三方授权原理与实战

    2021-09-27 01:48:57
  • Android多媒体应用使用SoundPool播放音频

    2022-07-16 22:21:04
  • Java实现读取项目中文件(.json或.properties)的方法详解

    2022-08-12 23:59:10
  • C#数据结构之堆栈(Stack)实例详解

    2022-12-17 21:25:37
  • 例题详解Java dfs与记忆化搜索和分治递归算法的使用

    2022-03-15 08:29:55
  • java基础知识之FileInputStream流的使用

    2021-07-05 00:30:24
  • Java实现软件运行时启动信息窗口的方法

    2023-01-04 06:21:55
  • Maven学习----Maven安装与环境变量配置教程

    2021-12-04 08:20:25
  • Android 三种实现定时器详解及实现方法

    2021-11-18 21:53:42
  • Spring Security实现基于角色的访问控制框架

    2022-03-19 05:40:53
  • asp之家 软件编程 m.aspxhome.com