首页 > 后端开发 > C++ > 在C++中,将以下内容翻译为中文:寻找长度和宽度之间差异最小的矩形

在C++中,将以下内容翻译为中文:寻找长度和宽度之间差异最小的矩形

王林
发布: 2023-09-16 13:21:09
转载
648 人浏览过

在C++中,将以下内容翻译为中文:寻找长度和宽度之间差异最小的矩形

给定一个矩形区域作为输入。目标是找到矩形的边,使长度和宽度之间的差异最小。

矩形的面积 = 长度 * 宽度。

示例

输入− 面积 = 100

输出− 差异最小的矩形边:

长度 = 10,宽度 = 10

解释− 面积 = 100 的边。

2 - 50、4 - 25、5 - 20、10 - 10。差异最小的边是 10-10,差值 = 0。众所周知,正方形是所有边长相等的矩形。

输入− 面积 = 254

输出− 具有最小差异的矩形边:

长度 = 127,宽度 = 2

解释 - 仅可能的边制作面积为 254 的矩形的最小差值为 127 和 2。

下面程序中使用的方法如下

在此我们将求面积的平方根值并进行遍历从那里到1,以便找到差异最小的值,并且area=输入区域。

  • 以整数变量Area作为输入。

    li>
  • 函数fragmentSides(int area1)接受area1并打印矩形的边长,长度和宽度之间的差异尽可能小。

  • 取整数长度、宽度、tmp1。

  • 设置 tmp1=ceil(sqrt(area1))

  • 使用 for 循环遍历 ( int i = tmp1;我 > 0; i--)。

  • 如果 (area1 % i == 0) 则设置长度=area/i 和宽度=i。

  • 使用break语句停止迭代。

  • 打印边长和宽度。

示例

#include <bits/stdc++.h>
using namespace std;
void rectangleSides(int area1){
   int length, breadth;
   int tmp1 = ceil(sqrt(area1));
   for (int i = tmp1; i > 0; i--) {
      if (area1 % i == 0) {

         length = ceil(area1 / i);
         breadth = i;
         break;
      }
   }
   cout<<"Sides of Rectangle with minimum difference :"<<endl;
   cout << "Length = " << length << ", Breadth = "   << breadth << endl;
}
int main(){
   int Area = 140;
   rectangleSides(Area);
   return 0;
}
登录后复制

输出

如果我们运行上面的代码,它将生成以下输出

Sides of Rectangle with minimum difference :
Length = 14, Breadth = 10
登录后复制

以上是在C++中,将以下内容翻译为中文:寻找长度和宽度之间差异最小的矩形的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板