请问做一个尺寸为 a * b * c(单位:厘米)的开口的立方体纸箱(只有一个面是不需要封的,其余 5 个面都需要封起来,这样算开口的),最少需要多少平方厘米的纸。
#inckude <iostream>
using namespace std;
int _max(int a, int b, int c)
{
int m = a > b? a : b;
m = m > c? m : c;
return m;
}
int main() {
int a,b,c;
cin >> a >> b >> c;
r = a*b*2+a*c*2+b*c*2-_max(a*b,a*c,b*c);
cout << r << endl;
return 0;
}
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cout << "请输入纸箱尺寸 a b c(单位:厘米):" << endl;
cin >> a >> b >> c;
int s1 = a * c; // 长面积
int s2 = b * c; // 宽面积
int s3 = a * b; // 底面积
// 计算总面积
int total_area = 2 * (s1 + s2 + s3) - s1;
cout << "需要的最少纸张面积为:" << total_area << " 平方厘米" << endl;
return 0;
}
这里使用了公式 总面积 = 2 * (长面积 + 宽面积 + 底面积) - 长面积,因为只有一个面是不需要封的,其余 5 个面都需要封起来,所以总面积就是 5 个面的面积之和减去出现两次的长面积。