当前位置:首页GESP > 正文

C++编程题:长方形面积(2023年3月 GESP C++ 一级)

作者:野牛程序员:2024-07-19 08:02:38GESP阅读 3563
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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • C++
  • 最新推荐

    热门点击