天天看點

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;
}