给定一个矩形区域作为输入。目标是找到矩形的边,使长度和宽度之间的差异最小。
矩形的面积 = 长度 * 宽度。
示例
输入− 面积 = 100
输出− 差异最小的矩形边:
长度 = 10,宽度 = 10
立即学习“C++免费学习笔记(深入)”;
解释− 面积 = 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 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 :Length = 14, Breadth = 10登录后复制
以上就是在C++中,将以下内容翻译为中文:寻找长度和宽度之间差异最小的矩形的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2581426.html