B3834 题解 残阳如血 · 2023-10-01 09:49:33 · 题解 思路分析 只需枚举长方形的一条边,即可求出另外一条边。 但是由于两个长方形的长相等、宽也相等,则认为是同一种长方形,所以我们一条边只能枚举到 \lfloor\sqrt{S}\rfloor(S 表示长方形面积)。 核心代码 cin >> A; for (int i = 1; i * i <= A; ++i) // sqrt(A) 太慢了,可以写成 i * i <= A if ((A % i) == 0) ++ans; // 能整除的话将结果+1 cout << ans; // 输出答案