给出一个不大于 100 的正整数 n,输出 n×n 的蛇形方阵。 从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 4 个字符,后面使用空格补齐。 样例输入 复制 3 样例输出 复制 1 2 3 8 9 4 7 6 5
```python n = int(input()) matrix = [[0] * n for _ in range(n)] directions = [(0, 1), (1, 0), (0, -1), (-1, 0)] x, y, d = 0, 0, 0 for num in range(1, n * n + 1): matrix[x][y] = num nx, ny = x + directions[d][0], y + directions[d][1] if not (0 <= nx < n and 0 <= ny < n and matrix[nx][ny] == 0): d = (d + 1) % 4 nx, ny = x + directions[d][0], y + directions[d][1] x, y = nx, ny for row in matrix: print(''.join(f'{num:<4d}' for num in row)) ``` [2026-01-04 12:10:01 | AI问答 | 196点数解答]
相关提问
- [字节豆包] 请你补全代码,把数组a的所有元素都赋值为100。 输入: 无 输出: 共二十行,每行一个整数,为数组中的每个数。 输入样例: 无 输出样例: 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100#include <iostream> using namespace std; int main() { int a[20]; for ( ) { } for (int i = 0; i < 20; i++) { cout << a[i] << endl; } return 0; }(164点数解答 | 2025-11-01 19:14:57)84
- [字节豆包] 给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点的值不变; 2.中间各像素点新值为该像素点及其上下左右相邻四个像素点值的平均数(向下取整)。 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。 接下来n行,每行m个整数,表示图像的每个像素点的值。相邻两个整数之间用单个空格隔开,每个元素均在0∼255之间。 输出 n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。 样例输入 复制 4 5 100 0 100 0 50 50 100 200 0 0 50 50 100 100 200 100 100 50 50 100 样例输出 复制 100 0 100 0 50 50 80 100 60 0 50 80 100 90 200 100 100 50 50 100(555点数解答 | 2025-12-09 12:22:26)71
- [字节豆包] 现有 n n 个正整数,乌拉乎想要快速从这些数中找到第 x x 个数字,请你帮助乌拉乎编写一个程序,实现对应的功能吧。 输入格式 输入包含三行, 第一行,一个正整数 n n。 第二行,依次为 n n个 正整数 a [ i ] a[i]。 第三行,一个正整数 x x。 输出格式 输出这 n n 个数中的第 x x 个数。 input1 复制 3 4 6 2 2 output1 复制 6 input2 复制 5 3 1 1 2 3 5 output2 复制 3 提示 注意 序号和数组下标 的对应关系,如果需要使用 a [ 100 ] a[100] ,那么定义数组时至少需要定义为 int a [ 101 ] a[101]; 数据规模与约定 对于 100 % 100% 的数据, 1 ≤ x ≤ n ≤ 100 1≤x≤n≤100, 1 ≤ a [ i ] ≤ 100 1≤a[i]≤100。c++(380点数解答 | 2025-11-08 19:23:39)131
- [字节豆包] 题目描述 给定m行n列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点灰度值不变; 2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均值(四舍五入)。 输入格式 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1<=n<=100,1<=m<=100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。 输出格式 m行,每行n个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。 输入样例1 4 5 100 0 100 0 50 50 100 200 0 0 50 50 100 100 200 100 100 50 50 100 输出样例1 100 0 100 0 50 50 80 100 60 0 50 80 100 90 200 100 100 50 50 100 用c++语言 (670点数解答 | 2025-11-10 18:55:33)93
- [字节豆包] 题目描述 给定m行n列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点灰度值不变; 2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均值(四舍五入)。 输入格式 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1<=n<=100,1<=m<=100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。 输出格式 m行,每行n个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。 输入样例 4 5 100 0 100 0 50 50 100 200 0 0 50 50 100 100 200 100 100 50 50 100 输出样例 100 0 100 0 50 50 80 100 60 0 50 80 100 90 200 100 100 50 50 100 说明/提示 用c++(655点数解答 | 2025-12-01 14:24:01)67
- [DeepSeek] 题目描述 你需要开发一款文字处理软件。最开始时输入一个字符串(不超过 100 个字符)作为初始文档。可以认为文档开头是第 0 个字符。需要支持以下操作: 1 str:后接插入,在文档后面插入字符串 str,并输出文档的字符串。 2 a b:截取文档部分,只保留文档中从第 a 个字符起 b 个字符,并输出文档的字符串。 3 a str:插入片段,在文档中第 a 个字符前面插入字符串 str,并输出文档的字符串。 4 str:查找子串,查找字符串 str 在文档中字符串str第一个字符最先的位置并输出;如果找不到输出 -1。 为了简化问题,规定初始的文档和每次操作中的 str 都不含有空格或换行。最多会有 q(q≤100) 次操作。 输入 第一行一个整数 q ,表示由q次操作。 第二行一行字符串,表示初始文档。 接下来 q 行,每行一个操作,具体规则见题目描述。 输出 对于每一次操作,都输出变化后的文档内容。 样例输入 复制 4 ILove 1 programing 2 5 10 3 3 AC! 4 game 样例输出 复制 ILoveprograming programing proAC(449点数解答 | 2025-12-18 18:01:25)38
- [DeepSeek] 题目描述 给出 n n 个字符,找出其中的数字字符并将所有数字相乘,要求输出数字之积对应的字符。 输入格式 第一行是一个数字 n n 第二行是 n n 个字符 输出格式 数字积对应的符号 input1 复制 3 277 output1 复制 b 语言方向:C++ 系统环境:Windows(178点数解答 | 2025-08-30 22:18:59)83
- [DeepSeek] 题目描述 C++ 给出 n n 个字符,找出其中的数字字符并将所有数字相乘,要求输出数字之积对应的字符。 输入格式 第一行是一个数字 n n 第二行是 n n 个字符 输出格式 数字积对应的符号 input1 复制 3 277 output1 复制 b on(103点数解答 | 2025-08-30 22:30:54)88
- [字节豆包] 题目描述 现有 n n 个正整数,乌拉乎想要统计出这些数中与指定的数字 x x 相等的数的个数,请编写程序,实现对应功能吧。 输入格式 输入包含三行, 第一行,一个正整数 n n。 第二行,依次为 n n个 正整数 a [ i ] a[i]。 第三行,一个正整数 x x。 输出格式 输出为这 n n 个数与 x x 相等的数的个数。 input1 复制 3 4 6 2 2 output1 复制 1 input2 复制 5 3 1 1 2 3 1 output2 复制 2 数据规模与约定 对于 100 % 100% 的数据, 1 < n < 100 1<n<100, 1 ≤ a [ i ] , x ≤ 100 1≤a[i],x≤100。c++(358点数解答 | 2025-11-22 22:01:32)42
- [字节豆包] 输入一个正整数 N,输出 N 行 N 列字母,字母为大写英文字母,执行效果如下。输入正整数 27,输出 27 行字母,每行 27 个字母。第一行从A 开始,第二行 B 开始。当到达 Z,再从 A 开始。c++ image 输入格式 输入一行,一个大于等于 1 的正整数 N。 输出格式 输出上图所示的字母阵列。(340点数解答 | 2026-01-02 19:26:59)27
- [字节豆包] 样例输入: 1 520021910437 99 100 98 zhang san 1 520021910438 99 100 92 zhang san 1 520021910439 90 100 94 li si 1 520021910440 90 100 94 wang wu 2 520021910437 89 100 94 zhang san 3 520021910430 4 520021910437 5 zhang san 6 7 0 样例输出(此处增加了换行以方便解释): 520021910437 zhang san 89 100 94 520021910437 zhang san 89 100 94 520021910438 zhang san 99 100 92 520021910437 zhang san 89 100 94 520021910438 zhang san 99 100 92 520021910439 li si 90 100 94 520021910440 wang wu 90 100 94 520021910438 zhang san 99 100(28点数解答 | 2024-12-12 11:56:59)382
- [字节豆包] 给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。用C++ 输入格式 一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。 输出格式 一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。 提示 注意,商和余数之间存在一个空格。 可以参考 cout << 计算式1 << " " << 计算式2; input1 复制 10 3 output1 复制 3 1 input2 复制 20 4 output2 复制 5 0 提示 对于 100 % 100% 的数据, 0 ≤ a ≤ 100 0≤a≤100, 1 ≤ b ≤ 100 1≤b≤100。 回答篇幅:越详细越好(820点数解答 | 2026-01-24 22:19:06)34