洛谷 B3834:[GESP202303 一级] 长方形面积 ← 循环结构 + 选择结构
【题目来源】
【题目描述】
小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有多少种可能的长方形,满足长和宽都是整数?
如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。
【输入格式】
输入一行,包含一个整数 A,表示长方形的面积。约定 2≤A≤1000。
【输出格式】
输出一行,包含一个整数 C,表示有 C 种可能的长方形。
【输入样例一】
4
【输出样例一】
2
【输入样例二】
6
【输出样例二】
2
【样例一解释】
2 种长方形面积为 4,它们的长宽分别为 2×2,4×1。
【样例二解释】
2 种长方形面积为 6,它们的长宽分别为 3×2, 6×1。
【数据范围】
2≤A≤1000
【算法分析】
● 时间复杂度分析如下:
(1)外层循环执行 s 次(i 从 1 到 s)
(2)内层循环在最坏情况下执行 i 次(j 从 1 到 i)
(3)核心语句 if(i*j==s) cnt++; 总执行次数约为 1+2+3+...+s=s(s+1)/2
因此时间复杂度为 O(s²),即 O(n²)。
● 在算法竞赛中,这个 O(n²) 的时间复杂度可支持的问题规模为 5000。本题问题规模仅为 1000,可过,不会 TLE(超时)。
【算法代码】
【参考文献】

浙公网安备 33010602011771号