C++编程题:长方形面积(2023年3月 GESP C++ 一级)
作者:野牛程序员:2024-07-19 08:02:38GESP阅读 3466
C++编程题:长方形面积(2023年3月 GESP C++ 一级)
2. c++编程题:长方形面积
【问题描述】
小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都 是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有 多少种可能的长方形,满足长和宽都是整数? 如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形 的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。
【输入描述】
输入一行,包含一个整数,表示长方形的面积。约定 2 ≤ A ≤ 1000。
【输出描述】
输出一行,包含一个整数,表示有种可能的长方形。
解决思路
可以遍历所有可能的宽度 w从 1 到 sqrt(A),然后检查对于每个宽度 w,是否存在一个整数长度 l使得 l×w=A,并且满足 l≥w。如果存在这样的 l,则计数增加。
代码实现
#include <iostream> #include <cmath> using namespace std; int main() { int A; cin >> A; int count = 0; for (int w = 1; w <= sqrt(A); ++w) { if (A % w == 0) { int l = A / w; if (l >= w) { count++; } } } cout << count << endl; return 0; }
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892