华为OD机试 – 螺旋数字矩阵(Java & JS & Python & C & C++)

题目描述

疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:

给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,….,n,最终形成一个 m 行矩阵。

小明对这个矩阵有些要求:

  1. 每行数字的个数一样多
  2. 列的数量尽可能少
  3. 填充数字时优先填充外部
  4. 数字不够时,使用单个 * 号占位

输入描述

两个整数,空格隔开,依次表示 n、m

输出描述

符合要求的唯一矩阵

用例

输入 9 4
输出 1 2 3
* * 4
9 * 5
8 7 6
说明 9个数字写出4行,最少需要3列

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/43017c170d.html