【编程】金字塔图案

article/2025/10/22 4:52:27

1.问题描述

打印出金字塔图案,如图1.1所示。

图1-1 

2.问题分析

这个问题是一个很经典的循环应用的题目。我们都知道,打印输出的时候,都是从最左端输出,而这里,第一个星号是在中间。这实际是因为星号之前有很多空格。当我们使用问号来表示空格,实际的输出效果应该是图1.2的形式。

图1-2 

从图1.2分析,我们就可以发现这个题目的奥秘了。

(1)确定程序框架

从图1.2中,我们可以发现,一共需要打印5行,而每一行都是打印几个空格,然后再打印几个星号。这样我们就可以写出程序框架了。程序框架代码如下:

public class Ch1_1 
{public static void main(String[] args) {**************for(i=1;i<=5;i++)		//循环5次,打印5行{//打印若干个空格//打印若干个星号}}
}

由于我们这里明确知道打印的行数,所以我们使用for循环来实现。下面我们就需要考虑如何打印每行的星号。

(2)寻找空格和星号的规律

从图1.2中,我们可以发现:第1行的空格为4个,第2行是3个,第3行是2个,……,每行依次递减,直至最后一行空格数为0;而星号数目是第1行是1个,第2行是3,第3行是5,……,每行依次递增2,直至最后一行星号数为9。总结数据,我们可以得到表1.1所示的规律。

表1.1  空格和星号的规律

行数

空格数

星号数

1

4

5–1

1

1*2–1

2

3

5–2

3

2*2–1

3

2

5–3

5

3*2–1

4

1

5–4

7

4*2–1

5

0

5–5

9

5*2–1

规律

依次递减1

5–行数

依次递增2

行数*2–1

从表1.1中,我们不难发现行数和空格数、星号数之间有一种很有趣的联系。根据这个联系,我们就可以考虑完善我们上面的程序了。

(3)打印空格数

由于每行空格数有着“5–行数”的规律。所以在第i行的时候,空格数就为5–i。所以我们只要把5–i个空格打印出来即可。对应代码如下:


for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)		//根据外层行号,输出星号左边空格System.out.print(" ");
}

虽然每行的空格数不同,但是对于特定的行,其空格数是固定的,所以循环打印的次数是确定的。所以这里同样适用了for循环。

(4)打印星号数

由于每行星号数有着“行数*2–1”的规律。所以在第i行的时候,星号数就为2*i–1。所以我们只要把2*i–1个星号打印出来即可。对应代码如下:

for(i=1;i<=5;i++)
{
for(k=1;k<=2*i-1;k++)		//根据外层行号,输出星号个数System.out.printf("*");
}

(5)完整程序

现在我们就需要把刚才的程序进行组合,构成我们的完整程序。

import java.util.Scanner;public class Ch1_1 
{public static void main(String[] args) {int i,j,k,n;Scanner input=new Scanner(System.in);System.out.print("请输入金字塔层数:");n=input.nextInt();//外层循环控制层数for(i=1;i<=n;i++){//根据外层行号,输出星号左边空格for(j=1;j<=n-i;j++)System.out.print(" ");//根据外层行号,输出星号个数for(k=1;k<=2*i-1;k++)System.out.printf("*");//一行结束,换行System.out.printf("\n");}}
}


http://chatgpt.dhexx.cn/article/QjNFihNG.shtml

相关文章

计算机视觉-OpenCV图像金字塔

&#x1f60a;&#x1f60a;&#x1f60a;欢迎来到本博客&#x1f60a;&#x1f60a;&#x1f60a; 本次博客内容将继续讲解关于OpenCV的相关知识 &#x1f389;作者简介&#xff1a;⭐️⭐️⭐️目前计算机研究生在读。主要研究方向是人工智能和群智能算法方向。目前熟悉pytho…

图像金字塔(image pyramid) 分为两种:高斯金字塔  和  拉普拉斯金字塔。

高斯金字塔 高斯金字塔模仿的是图像的不同的尺度&#xff0c;尺度应该怎样理解&#xff1f;对于一副图像&#xff0c;你近距离观察图像&#xff0c;与你在一米之外观察&#xff0c;看到的图像效果是不同的&#xff0c;前者比较清晰&#xff0c;后者比较模糊&#xff0c;前者比…

数字图像处理:图像金字塔

转载请标明出处&#xff1a;数字图像处理&#xff1a;图像金字塔_数字图像处理opencv_新浪博客 &#xff08;一&#xff09;概念 以多个分辨率来表示图像的一种有效且概念简单的结构是图像金字塔。图像金字塔最初用于机器视觉和图像压缩&#xff0c;一个图像金字塔是一系列以金…

图像处理-图像金字塔

图像金字塔&#xff08;image pyramid&#xff09;&#xff0c;一般有两种&#xff1a;高斯金字塔、拉普拉斯金字塔 ——————————————————————————————— 先介绍下里面的一些操作&#xff1a; 下采样&#xff1a;相当于对图像进行一个像素的抽取&a…

10.图像金字塔

图像金字塔&#xff1a;主要是指一种算法思想 一般情况下&#xff0c;我们要处理是一副具有固定分辨率的图像。但是有些情况下&#xff0c;我们雪要对同一图像的不同分辨率的子图像进行处理。比如&#xff0c;我们要在一幅图像中查找某个目标&#xff0c;比如险&#xff0c;我们…

图像金字塔:概念及实现

文章目录 图像金字塔&#xff1a;概念和实现1. 图像金字塔的概念2. 图像金字塔的实现方式3. 基于OpenCV的图像金字塔实现参考资料 图像金字塔&#xff1a;概念和实现 首先补充一下分辨率的概念&#xff1a;图像分辨率指图像中存储的信息量&#xff0c;是每英寸图像内有多少个像…

图像金字塔的简单理解

图像金字塔模型&#xff1a; Level层定义的是图片的分辨率&#xff0c;图像金字塔的塔底到塔顶表示的是图片的缩小过程。也就是说从第Level0层开始是原图&#xff0c;越往上越压缩&#xff0c;丢失的信息越多。 图像金字塔的测试&#xff1a; 图片&#xff1a; halcon代码&am…

数字图像处理5:图像金字塔

图像金字塔 近似金字塔和残差金字塔 图像金字塔是图像中多尺度表达的一种&#xff0c;最主要用于图像的分割&#xff0c;是一种以多分辨率来解 释图像的有效但概念简单的结构。图像金字塔最初用于机器视觉和图像压缩&#xff0c;一幅图像的金字塔是一系列以金字塔形状排列的分…

图像金字塔、特征金字塔(FPN)

图像金字塔 参考&#xff1a; https://www.jianshu.com/p/436e96200f80 图像金字塔是图像多尺度表达的一种&#xff0c;是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低&#xff0c;且来源于同一张原始图的图像…

图像金字塔,原理、实现及应用

什么是图像金字塔 图像金字塔是对图像的一种多尺度表达&#xff0c;将各个尺度的图像按照分辨率从小到大&#xff0c;依次从上到下排列&#xff0c;就会形成类似金字塔的结构&#xff0c;因此称为图像金字塔。 常见的图像金字塔有两类&#xff0c;一种是高斯金字塔&#xff0…

计算机视觉教程2-5:图像金字塔送她一朵玫瑰(附代码)

目录 1 金字塔2 什么是图像金字塔&#xff1f;3 图像金字塔有什么用&#xff1f;4 OpenCV实战图像金字塔 1 金字塔 平时你听到、见到的金字塔是什么样的&#xff1f; 这样&#xff1f; 还是这样&#xff1f; 实际上除了这些&#xff0c;还有图像金字塔 图像金字塔有什么用&am…

图像金字塔(Python实现)

图像金字塔&#xff08;Python实现&#xff09; 1 简介 在图像处理中常常会调整图像大小,最长的就是放大(zoom in)和缩小(zoom out),尽管集合变换也可以实现图像放大或者缩小 一个图像金字塔式一系列的图像组成,最底下一张式图像尺寸最大,最上方的图像尺寸最小,从空间上从上向下…

图像金字塔分层算法

一. 图像金字塔概述 欢迎关注微信公众号“智能算法”&#xff01; 1. 图像金字塔是图像中多尺度表达的一种&#xff0c;最主要用于图像的分割&#xff0c;是一种以多分辨率来解释图像的有效但概念简单的结构。 2. 图像金字塔最初用于机器视觉和图像压缩&#xff0c;一幅图像的金…

图像金字塔是什么?

一般情况下&#xff0c;我们要处理是一副具有固定分辨率的图像。但是有些情况下&#xff0c;我们需要对同一图像的不同分辨率的子图像进行处理。比如&#xff0c;我们要在一幅图像中查找某个目标&#xff0c;比如脸&#xff0c;我们不知道目标在图像中的尺寸大小。这种情况下&a…

图像处理之高斯金字塔

一&#xff1a;图像金字塔基本操作 对一张图像不断的模糊之后向下采样&#xff0c;得到不同分辨率的图像&#xff0c;同时每次得到的 新的图像宽与高是原来图像的1/2, 最常见就是基于高斯的模糊之后采样&#xff0c;得到的 一系列图像称为高斯金字塔。 高斯金字塔不同(DoG)又…

【OpenCV学习笔记】之图像金字塔(Image Pyramid)

一、尺度调整 顾名思义&#xff0c;即对源图像的尺寸进行放大或者缩小变换。在opencv里面可以用resize函数&#xff0c;将源图像精准地转化为指定尺寸的目标图像。要缩小图像&#xff0c;一般推荐使用CV_INETR_AREA(区域插值)来插值&#xff1b;若要放大图像&#xff0c;推荐使…

图像金字塔总结

本文转载自&#xff1a; http://blog.csdn.net/dcrmg/article/details/52561656 一、 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构&#xff0c;通过对原始图像进行多尺度像素采样的方式&#xff0c;生成N个不同分辨率的图像。把具有最高级别分辨率的图像放在底…

数字图像处理(21): 图像金字塔(高斯金字塔 与 拉普拉斯金字塔)

目录 1 图像金字塔简介 2 向下取样——pyrDown() 2.1 基础理论 2.2 代码示例 3 向上取样——pyrUp() 3.1 基础理论 3.2 代码示例 4 Laplacian 金字塔 4.1 基础理论 4.2 代码示例 参考资料 1 图像金字塔简介 以多个分辨率来表示图像的一种有效且概念简单的结构是图像…

图像处理(二):图像金字塔

图像金字塔是图像多尺度表达的一种&#xff0c;是一种以多分辨率来解释图像的有效且概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低&#xff0c;且来源于同一张原始图的图像集合。 高斯金字塔是常见的图像金字塔&#xff0c;如下所示&#xff1a;…

什么是图像金字塔

有些情况下&#xff0c;我们需要处理源自同一张图像的不同分辨率的图像集合。这些不同分辨率的图像组成的集合称为图像金字塔。 图像金字塔的主要类型可分为低通和带通 有两种常用图像金字塔&#xff1a; Gaussian Pyramid &#xff08;低通&#xff09;Laplacian Pyramids &…