题解
2026-02-06 16:47:07
发布于:浙江
11阅读
0回复
0点赞
代码思路:
首先输入表示长方形面积的整数 s;
确定长方形宽的最大可能值 max_b:通过循环遍历 i,当 i 的平方小于等于 s 时持续更新 max_b 为当前 i,最终 max_b 为 s 的算术平方根向下取整(此操作保证宽≤长,符合题目长≥宽的约定);
初始化计数器 cnt 为 0,用于统计符合条件的长方形数量;
遍历所有可能的宽 i(范围 1 到 max_b),再嵌套循环遍历 j 从 1 到 s,寻找满足 i*j=s 的整数 j(即对应合法的长),若找到则计数器 cnt 加 1;
最后输出计数器 cnt 的值,即为符合条件的长方形种类数。
#include<iostream>
using namespace std;
int main()
{
int s;
cin >> s;
//其中一个边长的最大值
int max_b = -1;
for(int i = 1; i * i <= s; i++)
{
max_b = i;
}
int cnt = 0;
for(int i = 1; i <= max_b; i++)
{
for(int j = 1; j <= s; j++)
{
if(i * j == s)
{
cnt++;
}
}
}
cout << cnt;
return 0;
}
这里空空如也



有帮助,赞一个