金字塔图案
Posted rowry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金字塔图案相关的知识,希望对你有一定的参考价值。
金字塔图案
问题描述
打印出等腰金字塔图形.
算法思路
- 这种打印图形,核心就是按行打印 => 金字塔图形每一行有空格和星号组成
- 找到行号n与空格和星号的数量规律
代码示例
Python
# 这种打印的就是按行打印
def fun(n):
"""
:param n: 金字塔的层数
"""
for line in range(1, n + 1):
# 打印空格
for i in range(n - line):
print(" ", end="")
# 打印星号
for i in range(2*line -1):
print("*",end="")
print()
fun(5)
Java
import java.util.Scanner;
public class 金字塔图案 {
// print1(n) => 正三角
static void print1(int n) {
// 按行来打印
for (int i = 1; i <= n; i++) { // 第i行
// 打印空格
for (int j = 0; j < n - i; j++) {
System.out.printf(" ");
}
// 打印星号
for (int j = 0; j < 2 * i - 1; j++) {
System.out.printf("*");
}
System.out.println();
}
}
// print2(n) => 倒三角
static void print2(int n) {
// 按行打印
for (int i = 1; i <= n; i++) {
// 打印空格
int nn = i - 1;
while (nn-- > 0) {
System.out.printf(" ");
}
// 打印星号
nn = 2 * (n - i) + 1;
while (nn-- > 0) {
System.out.printf("*");
}
System.out.println();
}
}
public static void main(String[] args) {
// 1. 找到行数n和空格,星号的关系
Scanner sc = new Scanner(System.in);
System.out.println("请输入金字塔层数: ");
int n = sc.nextInt(); // n => 层数
print1(n);
System.out.println();
print2(n);
}
}
以上是关于金字塔图案的主要内容,如果未能解决你的问题,请参考以下文章