作业帮算法笔试0921
**题目一:最少完全平方数之和**
给定一个正整数 $ n $,请找出最少个数的完全平方数,使得这些完全平方数的和等于 $ n $。
完全平方数是指一个整数乘以自己,例如 $ 1*1, 2*2, 3*3 $ 等。若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。例如:1、4、9、16 都是完全平方数,但 2、3、5、8、11 等不是。
数据范围:$ 1 \leq n \leq 10^4 $
输入描述:仅一行,输入一个正整数 $ n $。
输出描述:按题目要求输出完全平方数之和为 $ n $ 的最少个数。
示例 1:
输入:5
输出:2
(因为 $ 5 = 1^2 + 2^2 $,共两个完全平方数)
---
**题目二:矩阵层旋转**
小红拿到了一个 $ n \times n $ 的矩阵,她希望将矩阵的每一层都顺时针旋转一下。你能帮帮她吗?
我们定义矩阵的“层数”是由外到内的。例如,对于一个 $ 5 \times 5 $ 的矩阵:
```
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
```
共有 3 层(最外层、中间层、中心点)。每一层顺时针旋转后,例如最外层变为:
```
6 1 2 3 4
...
```
(具体旋转方式需根据层进行处理)
任务:实现将 $ n \times n $ 矩阵的每一层顺时针旋转一次的功能。
---
**题目三:切割数字使和为偶数**
游游拿到了一个正整数,她希望将它切割成两部分,使得它们的和为偶数。游游想知道有多少种合法的切割方案?
注意:切割后的正整数允许出现前导零。
输入描述:一个正整数,大小不超过 $ 10^{100000} $(即可能是一个非常大的数,字符串形式输入)。
输出描述:一个整数,代表合法的切割方案数。
示例 1:
输入:103
输出:1
说明:
- 切割成 `1 + 03 = 4` 是合法的(因为 4 是偶数)。
- 切割成 `10 + 3 = 13` 是奇数,不符合要求。
- 所以只有 1 种合法方案。
26秋招算法笔试