分析问题
输入一个偶数,求围成长方形的最大面积
长方形面积为c = (a+b)*2 因为输入的n一定是偶数,所以 (a+b) *2 = n 即 a+b = n/2
因为需要找出最大面积,正方形面积最大,或长和宽差值最小面积最大
因此 a = n/2 / 2 (较小的数)
b = n/2 -a
s = a*b
建立模型
- 输入处理:读取输入的整数 n
- 计算长宽和 a+b = n/2
- 确定长宽值:
a为 n/2 / 2 的整数除法结果(向下取整)。b为 n/2 – a,确保长和宽的和为 s。
- 输出面积,即为最大面积。
编写代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int a,b,s;
a = n/2 /2;
b = n/2 - a;
s = a*b;
cout<<s;
return 0;
}