一个矩形的面积为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
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <math.h>
#include <string.h>
using namespace std;
int a[100005];
int main(){
long long int S, C, i, j;
while(~scanf("%I64d", &S)){
int k = 0;
for(i = 1; i <= (int)sqrt(S) + 1; ++i){
if(S % i == 0){
a[k++] = ((i + S / i) * 2);
}
}
sort(a, a + k);
cout << a[0] << endl;
}
return 0;
}