1283 最小周長

題目來源: Codility 基準時間限制:1 秒 空間限制:131072 KB 分值: 5 難度:1級算法題
收藏
關注 一個矩形的面積為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;
}