酷代码 AI
菜单
服务商

题目描述 对于给定的 ,输出如下规律的递归图形: n==1时: * n==2时: * *** * n==3时: * *** * * * * ********* * * * * *** * 样例输入 复制 4 样例输出 复制 * *** * * * * ********* * * * * *** * * * * *** *** *** * * * * * * * * * * * * *************************** * * * * * * * * * * * * *** *** *** *

```python def print_pattern(n, indent=0): if n == 1: print(" " * indent + "*") else: # 上半部分:n-1 图形 print_pattern(n - 1, indent + (2 (n - 2))) # 中间部分:当前层级的三行 width = 2 (n - 1) - 1 # 第一行:单个星号,居中于当前块 print(" " * indent + " " * (2 (n - 2)) + "*" + " " * (2 (n - 2))) # 第二行:连续的星号,长度为 4^(n-1) mid_line = "*" * (2 * width + 1) print(" " * indent + " " * (2 (n - 2)) + mid_line + " " * (2 (n - 2))) # 第三行:与第一行对称 print(" " * indent + " " * (2 (n - 2)) + "*" + " " * (2 (n - 2))) # 下半部分:n-1 图形(重复一次) print_pattern(n - 1, indent + (2 (n - 2))) # 主程序 n = int(input()) print_pattern(n) ``` 这个递归函数 `print_pattern(n, indent)` 的作用是: - 在缩进 `indent` 的位置打印层级 `n` 的图形。 - 每一层由三个部分组成: 1. 上方的 `n-1` 图形(偏移右移) 2. 中间的三行(单星、长串星、单星),构成“十字”结构的中心 3. 下方再次打印 `n-1` 图形 每一层的宽度和间距呈指数增长(基于 $2^{n-2}$),使得图案对齐正确。 输入 `4` 时,会输出题目要求的完整结构。 [2026-01-07 17:56:26 | AI问答 | 450点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多