java例题_33 等腰输出杨辉三角
1 /*33 【程序 33 杨辉三角】
2 题目:打印出杨辉三角形(要求打印出 10 行如下图)
3 程序分析:
4 1
5 1 1
6 1 2 1
7 1 3 3 1
8 1 4 6 4 1
9 1 5 10 10 5 1
10 */
11
12 /*分析:
13 * ======================
14 * 杨辉三角特点:
15 * 1.每个数等于它上方两数之和。
16 * 2.每行数字左右对称,由1开始逐渐变大。
17 * 3.第n行的数字有n项。
18 * =======================
19 ==================================规律===规律====规律==================================
20 * 经过观察发现:
21 1
22 1 1
23 1 2 1
24 1 3 3 1
25 1 4 6 4 1
26 1 5 10 10 5 1
27 第一行a1[0]=1
28 第二行a2[0]=1,a2[1]=1;
29 第三行a3[0]=1,a3[1]=a2[0]+a2[1],a3[2]=1;
30 第四行a4[0]=1,a4[1]=a3[0]+a3[1],a4[2]=a3[1]+a3[2],a4[3]=1;
31 ....
32 第n行an[0]=1,an[1]=a(n-1)[0]+a(n-1)[1],an[2]=a(n-1)[1]+a(n-1)[2],an[3]=a(n-1)[2]+a(n-1)[3]...
33 ...an[n-2]=a(n-1)[n-3]+a(n-1)[n-2],an[n-1]=1;
34
35 考虑用for循环输出10行!还有一个for循环来改变数组的值
36 直接用二维数组输出!!!!!!!
37 * ==========输出规律=========
38 * 每行的第一个数字前面有n-i个空格,即第一数字输出之前要输出n-i个空格
39 * 没输出一个数字,再输出一个空格
40 *
41 */
42
43 package homework;
44
45 public class _33 {
46
47 public static void main(String[] args) {
48 // 声明一个10行10列的二维数组
49 int n = 10;
50 int[][] a = new int[n][n]; // 10行10列数组
51 //第一次循环控制行数
52 for (int i = 0; i < n; i++) {
53 //第二层循环控制列数
54 for (int j = 0; j <= i; j++) {
55 //每行的第一列值都为1,每行要输出的最后一个数(即行数等于列数时)也为1
56 if (j == 0 || j == i) {
57 a[i][j] = 1;
58 }
59 //其余情况的值都等于它上方两数之和
60 else {
61 a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
62 }
63 // System.out.printf("%d\t",a[i][j]); //输出值
64 }
65 // System.out.println(); //换行
66 }
67
68 // 使输出的结果为等腰三角形,两层for循环
69 // 第一层控制行输出
70 for (int i = 0; i < n; i++) {
71 //第二层的第一部分控制输出空格
72 for (int j = 0; j <= n-i; j++) {
73 System.out.print(" ");
74 }
75 //第二层的第二部分控制输出数组值+“ ”
76 for (int k = 0; k <= i; k++) {
77 System.out.print(a[i][k] + " ");
78 }
79 System.out.println(); //换行
80 }
81
82 }
83 }
java例题_33 等腰输出杨辉三角的更多相关文章
- Java使用for循环输出杨辉三角
杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和.编写程序,使用for循环输出包括10行在内的杨辉三角形. 思路是创建一个整型二 ...
- 1233: 输出杨辉三角前n行(Java)
WUSTOJ 1233: 输出杨辉三角前n行 题目 原题链接 Description 输出杨辉三角前n行. Input 输入一个数n(n <= 9) Output 输出杨辉三角前n行.(注意行末 ...
- 使用for循环输出杨辉三角-还是不懂得需要复习
package com.chongrui.test; /* *使用for循环输出杨辉三角杨辉三角形由数字排列,可以把它看作一个数字表,其基本特征是两侧的数值均为1,其他位置的数值是其正上方的数值与左上 ...
- 08-使用for循环输出杨辉三角(循环)
/** * 使用循环输出杨辉三角 * * */ public class Test6 { public static void main(String[] args) { // 创建二维数组 int ...
- C语言实现输出杨辉三角
1.倒推法实现输出杨辉三角右半部分,代码如下: #include<stdio.h> int main() { ]; printf("请输入行数n:"); scanf(& ...
- php输出杨辉三角
php输出杨辉三角 一.截图 二.代码 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 用java输出杨辉三角
杨辉三角:它的两个边都是1,内部其它都是肩上两个数的和 第一种: package aaa; public class YangHui { public static void main(String[ ...
- Java数组的应用:案例:杨辉三角,三维数组,字符串数组
//import java.util.Arrays; //包含Arrays //import java.util.Random; public class HelloWorld { public st ...
- 利用yield关键字输出杨辉三角
最近学习了下python,发现里面也有yield的用法,本来对C#里的yield不甚了解,但是通过学习python,对于C#的yield理解更深了!! 不多说了,小学生水平的表达能力伤不起.... 直 ...
随机推荐
- c++ 获取兄弟窗口
// 返回给定窗口上方窗口的句柄. HWND prevSibling = GetWindow((HWND)0x1011C, GW_HWNDPREV); printf("%x\n", ...
- Renice INC:解密干型葡萄酒
市场上,干型葡萄酒往往对比甜型葡萄酒(如甜红.甜白)受到更多葡萄酒爱好者的青睐.在葡萄酒界,大部分的红葡萄酒和白葡萄酒也都是干型的,而且它们的口感往往各有特色,并非千篇一律.今天,就跟随Renice ...
- 【HTB靶场系列】靶机Carrier的渗透测试
出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台.它能帮助你提升渗透测 ...
- SpringCloud之服务调用
1.Ribbon 1.1负载均衡LB 全称Load Balance,将用户的请求平摊到多个服务器上,从而达到系统的HA.集中式LB:在服务消费者和服务提供者之间使用独立的LB设施,如硬件,由该设施负责 ...
- 读懂RESTful风格
RESTful就是资源定位和资源操作的风格.不是标准也不是协议. REST即Representational State Transfer的缩写,可译为"表现层状态转化".REST ...
- 纯生js实现Element中input组件的部分功能(慢慢完善)并封装成组件
现在实现的有基础用法.可清空.密码框,参考链接:https://element.eleme.cn/#/zh-CN/component/input HTML代码:想要测试哪个组件,直接将对应组件解开注释 ...
- 使用 xunit 编写测试代码
使用 xunit 编写测试代码 Intro xunit 是 .NET 里使用非常广泛的一个测试框架,有很多测试项目都是在使用 xunit 作为测试框架,不仅仅有很多开源项目在使用,很多微软的项目也在使 ...
- s2010 安装mvc3
下载链接如下:MVC 3安装包:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=d2928bc1-f48c-4e95-a0 ...
- 中小企业上云首选,华为云全新云服务器S6性能评测分析
转: 中小企业上云首选,华为云全新云服务器S6性能评测分析 [小宅按]今天,华为云全新弹性云服务器ECS通用计算型云服务器S6(以下简称为"华为云S6云服务器")正式发布,至顶网云 ...
- Fastjson1.2.24RCE漏洞复现
Fastjson1.2.24RCE漏洞复现 环境搭建 这里用的Vulhub靶场 cd /vulhub/fastjson/1.2.24-rce docker-compose up -d 报错 ERROR ...