C++ 中长宽差值最小的矩形
给定矩形的面积作为输入。目标是找到矩形的边长,使得长和宽之间的差值最小。
矩形的面积 = 长 * 宽。
示例
输入 - 面积 = 100
输出 - 长宽差值最小的矩形边长
长 = 10,宽 = 10
说明 - 面积为 100 的边长。
2 - 50,4 - 25,5 - 20,10 - 10。长宽差值最小的边长为 10-10,差值为 0。我们知道正方形是所有边长都相等的矩形。
输入 - 面积 = 254
输出 - 长宽差值最小的矩形边长
长 = 127,宽 = 2
说明 - 使面积为 254 的矩形,唯一可能的且长宽差值最小的边长为 127 和 2。
下面程序中使用的方案如下
我们将找到面积的平方根值,并从那里遍历到 1,以找到长宽差值最小且面积等于输入面积的值。
将整数变量 Area 作为输入。
函数 rectangleSides(int area1) 获取 area1 并打印长宽差值最小的矩形的边长。
使用整数变量 length、breadth、tmp1。
设置 tmp1=ceil(sqrt(area1))
使用 for 循环遍历 (int i = tmp1; i > 0; i--)。
如果 (area1 % i == 0),则设置 length=area/i 和 breadth=i。
使用 break 语句停止迭代。
打印边长 length 和 breadth。
示例
#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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP