C++中长宽差最小的矩形
给定一个矩形区域作为输入。目标是找到矩形的边,使得长和宽之间的差异最小。
矩形面积=长*宽。
例子
输入 - 面积 = 100
输出 - 具有最小差异的矩形的边:
长度 = 10,宽度 = 10
说明 - 面积 = 100 的边。
2 - 50, 4 - 25, 5 - 20, 10 - 10。差最小的边是10-10,差= 0。正如我们所知,正方形是一个四边长相等的矩形。
输入 - 面积 = 254
输出 - 具有最小差异的矩形边:
长度 = 127,宽度 = 2
说明- 只有具有最小差异的可能边才能使面积为 254 的矩形为 127 和 2。
下面程序中使用的方法如下
在这里,我们将找到 area 的平方根值并从那里遍历到 1 以找到具有最小差异和 area= input area 的值。
以整数变量 Area 作为输入。
函数 rectangleSides(int area1) 取 area1 并打印 Rectangle 的边长,其中长度和宽度之间的差异尽可能小。
取整数长度,宽度,tmp1。
设置 tmp1=ceil(sqrt(area1))
使用 for 循环遍历 (int i = tmp1; i > 0; i--)。
如果 (area1 % i == 0) 则设置 length=area/i 和 width=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<<"具有最小差异的矩形的边:"<<endl;
cout << "Length = " << length << ", Breadth = " << breadth << endl;
}
int main(){
int Area = 140;
rectangleSides(Area);
return 0;
}
如果我们运行上面的代码,它将生成以下输出
具有最小差异的矩形的边:Length = 14, Breadth = 10
以上是 C++中长宽差最小的矩形 的全部内容, 来源链接: utcz.com/z/338638.html