解题思路:
注意事项:
参考代码:
n = int(input())
a = 1
n = 2*n -1
l = [[0 for j in range(n)] for i in range(n)]
row = 0
col = n//2
l[0][col] = 1
while a < n*n:
a += 1
if 0 <= (row-1) <= n-1 and 0<= (col+1) <= n-1 and l[row-1][col+1] == 0:
row -= 1
col += 1
l[row][col] = a
elif 0 <= (row-1) <= n-1 and 0<= (col+1) <= n-1 and l[row-1][col+1] != 0:
row += 1
l[row][col] = a
elif row == 0 and col == n-1:
row += 1
l[row][col] = a
elif row == 0:
row = n-1
col += 1
l[row][col] = a
elif col == n-1:
row -= 1
col = 0
l[row][col] = a
for i in l:
print(*i)
0.0分
1 人评分
简单编码 (C++代码)浏览:720 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:559 |
字符串问题 (C语言代码)浏览:1596 |
字符串比较 (C语言代码)答案错误????浏览:628 |
大神老白 (C语言代码)浏览:686 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:553 |
WU-输出九九乘法表 (C++代码)浏览:1838 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:691 |
a+b浏览:445 |
关于C语言变量位置的问题浏览:290 |