天天看点

51nod 1283 最小周长

1283 最小周长 

51nod 1283 最小周长

题目来源:  Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 5  难度:1级算法题

51nod 1283 最小周长

 收藏

51nod 1283 最小周长

 关注 一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值。例如:S = 24,那么有{1 24} {2 12} {3 8} {4 6}这4种矩形,其中{4 6}的周长最小,为20。 Input

输入1个数S(1 <= S <= 10^9)。      

Output

输出最小周长。      

Input示例

24      

Output示例

20      

思路:枚举一下就好了,从sqrt(s)开始,因为固定面积的矩形,正方形的周长最小,所以从sqrt(s)开始枚举遇到符合条件就可以输出并break了

AC代码:

#include<bits/stdc++.h>
using namespace std;

const int MAXN = 100005;
int main() {
	int s;
	scanf("%d", &s);
	for (int i = sqrt(s); i > 0; i--) {
		if (s / i *i == s) {
			printf("%d\n", 2 * (s / i + i)); break;
		}
	}
	return 0;
}