用JAVA实现杨辉三角实例
作者:是小徐了 发布时间:2023-08-28 16:45:23
标签:java,杨辉三角
这是我的第一篇文章,我的想法是把自己再学习的路上遇到的困难都给记录下来,一来是方便以后的自我复习,二来就是大家资源共享,帮助和我一样遇到困难的小伙伴们。
这是我遇到的第一个难题。
题目是:
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
输入包含一个数n。(1 <= n <= 34)
输出格式:n=5:数和数之间有空格
首先我们应该想着如何打印一个边长=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();//换行
}
}
}
运行结果如下:
现在我们就想着如何将0分别改为对应的数字即可,这里我们应用到 二维数组(int [][]sc=new int[列][行];) 既可以知道每个数对应的位置,也可以让每个数之间存在了联系。
首先定义长度:这里大家要明白长度的定义为:每个数都有家可寻。
下图可以清晰地解释:下一行的数等于“肩上”两数之和。
具体实现代码如下 :
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
0
投稿
猜你喜欢
- 目录事件最基本的用法理解路由事件WPF中使用路由事件升级了传统应用开发中的事件,在WPF中使用路由事件能更好的处理事件相关的逻辑,我们从这篇
- java数组初始化赋初值方法一int[] vis1;//声明未初始化 vis1=new in
- 重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在
- 首先来看看以下程序将会打印出什么:class Dog { public static void bark
- 本文实例为大家分享了Unity苹果手机Taptic震动的具体代码,供大家参考,具体内容如下文件:ios震动.zip将上方文件解压之后将Mul
- 多数据源创建数据库CREATE DATABASE mybatis_plus_1;USE mybatis_plus_1;CREATE TABL
- 由于要在Web项目中采用RFID读取功能,所以有必要开发Activex,一般情况下开发Activex都采用VC,VB等,但对这两块不是很熟悉
- 今天有朋友问我Struts2中Action必须实现execute方法吗?顺利的回答出来了。其实分两种情况:1)如果你的Action类是继承自
- 简介我们在使用flutter的过程中,有时候需要控制某些组件是否展示,一种方法是将这个组件从render tree中删除,这样这个组件就相当
- 一、堆栈内存堆栈内存,顾名思义,指的是堆内存以及栈内存,其中,堆内存是由Java GC进行管理的内存区域,而栈内存则是线程内存。关于栈内存,
- 什么是面向对象Java语言是一个纯面向对象的语言,面向对象的语言不仅只有Java,包括C++,PHP等面向对象的编程思想简称 OOP(Obj
- ActiveMQ是什么ActiveMQ是消息队列技术,为解决高并发问题而生ActiveMQ生产者消费者模型(生产者和消费者可以跨平台、跨系统
- 前言对于 InterruptedException,一种常见的处理方式是 “生吞(swallow)” 它 —— 捕捉它,然后什么也不做(或者
- 问题场景今天小编在MyBatis 整合Spring 的时候,使用到了@MapperScan,在启动期出现了一个错误:Invalid defa
- 前言:上篇C#进阶系列——WebApi接口传参不再困惑:传参详解介绍了WebApi参数的传递,这篇来看看WebApi里面异常的处理。关于异常
- 老生常谈的配置 但是还是需要说明一下EurekaApplication @EnableEurekaServer指定为server端
- 注意:适用于springboot或者springcloud框架1.首先下载相关文件2.然后需要去启动相关的启动文件3、导入相关jar包(如果
- spring中事务处理原理 利用aop生成代理对象执行带有Transactional事务注解的
- 前言 实际业务开发中,集合的判断和操作也是经常
- 网上很多资料在描述Java内存模型的时候,都会介绍有一个主存,然后每个工作线程有自己的工作内存。数据在主存中会有一份,在工作内存中也有一份。