数学算法问题的Python实现
1. 最近S边形数问题
1.1 问题描述
给定一个正整数 n
和边数 s
( s > 2
),要求找出最接近 n
的 s
边形数。如果有两个 s
边形数与 n
的距离相等,返回较小的那个。
1.2 预期输出示例
n | sides | Expected output |
---|---|---|
7 | 8 | 8 |
1 | 19 | 1 |
15 | 18 | 18 |
87 | 36 | 105 |
1.3 算法步骤
- 计算第
i
个s
边形数的公式为:$P_i = \frac{(s - 2) \times i^2 - (