假定Z先生蒐集的材料恰好可以修建長度為L米的圍欄,需要用這些圍欄圍起一個矩形牧場,為方便測量,要求矩形的長和寬都必須是整數,問題是如何規劃矩形的長和寬,才能使圍成的長方形牧場的面積最大?
例如:當 L = 14 時,可以圍起長為 6、寬為 1 的牧場,也可以修長為 4、寬為 3 的牧場,當然可能還有其他的方法,但第二種方案圍出的面積最大,為 12。
長 | 寬 | 面積 |
---|---|---|
6 | 1 | 6 |
4 | 3 | 12 |
範例測資
範例輸入 | 範例輸出 |
---|---|
EOF 輸入,每行一個數 L (保證 L 是偶數)。 | 輸出用這 L 米的圍欄所能圍起矩形牧場的最大面積 S。 |
14 | 12 |
解題思路
可使用以下公式來解出這題,公式是使用正數捨去小數點機制做運算 (公式詳見範例程式碼)。需要注意的是本題需要使用 Long Long Int 來做計算才不會有 WA 的情況出現。
範例程式碼-ZeroJudge D127: 牧場面積
#include <iostream>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(nullptr);
long long int N;
while (cin >> N)
{
long long int a = N/4;
long long int b = N-2*a;
b /= 2;
cout << a * b << endl;
}
}
//ZeroJudge D127
//Dr. SeanXD