已知矩形面积求最小周长

Description

There is a piece of paper in front of Tom, its length and width are integer. Tom knows the area of this paper, he wants to know the minimum perimeter of this paper.

Input

In the first line, there is an integer T indicates the number of test cases. In the next T lines, there is only one integer n in every line, indicates the area of paper. 
T≤10,n≤109

Output

For each case, output a integer, indicates the answer.

Sample Input

3
2
7
12

Sample Output

6
16
14

题意:

已知矩形面积求最小周长;;;;

n*m=s;

2(n+m)=2(n+s/n);

当n最接近sqrt(s)时周长最小!!

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 int main(){
 5     int t;cin>>t;
 6     while(t--){
 7         int n;cin>>n;
 8         int m=floor(sqrt(n)+0.5);
 9         int sum=0;
10         for(int i=m;i>0;i--){
11             if(n%i==0){
12                 sum=max((i+n/i)*2,sum);
13                 break;
14             }
15         }
16         cout<<sum<<endl;
17     }
18 return 0;
19 }

时间: 2024-10-26 02:51:34

已知矩形面积求最小周长的相关文章

ACM已知面积求最小周长

Description There is a piece of paper in front of Tom, its length and width are integer. Tom knows the area of this paper, he wants to know the minimum perimeter of this paper. Input In the first line, there is an integer T indicates the number of te

poj 2242(已知三点求外接圆周长)

The Circumference of the Circle Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8310   Accepted: 4960 Description To calculate the circumference of a circle seems to be an easy task - provided you know its diameter. But what if you don't

codves 3044 矩形面积求并

codves  3044 矩形面积求并  题目等级 : 钻石 Diamond 题目描述 Description 输入n个矩形,求他们总共占地面积(也就是求一下面积的并) 输入描述 Input Description 可能有多组数据,读到n=0为止(不超过15组) 每组数据第一行一个数n,表示矩形个数(n<=100) 接下来n行每行4个实数x1,y1,x2,y1(0 <= x1 < x2 <= 100000;0 <= y1 < y2 <= 100000),表示矩形的

codevs 3044 矩形面积求并

3044 矩形面积求并 时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题目描述 Description 输入n个矩形,求他们总共占地面积(也就是求一下面积的并) 输入描述 Input Description 可能有多组数据,读到n=0为止(不超过15组) 每组数据第一行一个数n,表示矩形个数(n<=100) 接下来n行每行4个实数x1,y1,x2,y1(0 <= x1 < x2 <= 100000;0 <= y1 < y2

已知三点求圆心与半径

已知三点求圆心与半径  [email protected] http://blog.csdn.net/kezunhai 在计算机图像图形学中,经常会用到求圆心或圆半径的情况,本文介绍一种已知三个点求圆心和圆半径的方法(当然三个点不能共线,共线的三个点不能构成圆). 原理:相互连接三个点,选取其中的任意两条直线,通过对这两条直线的中心做垂线,两条垂线的交点就是圆心,以此点为圆心,以此点到任意一点的距离为半径画圆. 三个点分别计为pt1, pt2, pt3:取直线p1p2和p1p3(也可以取其他直线

UVA 12386 Smallest Polygon n个点的任意多边形求最小周长 科学的暴力

题目链接: 题意: 给定n个点,用n个点组成的多边形中(可以是凹多边形,但n个点一定要全在多边形上) 在所有能由n个点构成的多边形中 求最小面积的多边形的周长 - 最小周长. 思路: 首先我们选择一个定点,则接下来的数进行一个排列,有(n-1)!个排列. 这个序列相邻两个数之间有一条线段. 判断多边形合法:任意两条线段不相交即可.n^2 剩下就是简单的更新答案了. 所以复杂度是 ( n-1 ) ! * n*n #include <cstdio> #include <cstring>

矩形面积求并(codevs 3044)

题目描述 Description 输入n个矩形,求他们总共占地面积(也就是求一下面积的并) 输入描述 Input Description 可能有多组数据,读到n=0为止(不超过15组) 每组数据第一行一个数n,表示矩形个数(n<=100) 接下来n行每行4个实数x1,y1,x2,y1(0 <= x1 < x2 <= 100000;0 <= y1 < y2 <= 100000),表示矩形的左下角坐标和右上角坐标 输出描述 Output Description 每组数

poj 2002(好题 链式hash+已知正方形两点求另外两点)

Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 18493   Accepted: 7124 Description A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degree angles. It is also a polygon such that rotating abou

矩形面积求并

[题目描述] 输入n个矩形,求它们总共占地面积(也就是求一下面积的并). [输入描述] 可能有多组数据,读到n=0为止(不超过15组). 每组数据第一行包含1个数n,表示矩形个数(n <= 100): 接下来n行每行4个实数x1.y1.x2.y1(0 <= x1 < x2 <= 100000,0 <= y1 < y2 <= 100000),表示矩形的左下角坐标和右上角坐标. [输出描述] 对于每组数据输出一行表示答案. [样例输入] 2 10 10 20 20 1