题目链接:http://poj.org/problem?id=3536
在体积固定的情况下,表面积最小时的长,宽,高。
这里枚举长,宽,根据体积计算高。
#include <iostream> #include <algorithm> using namespace std; int x=0,y=0; void f(int n) { int min=0x3f3f3f3f; x=1; y=1; for(int i=1; i*i<=n; i++) { if(n%i==0) { for(int j=i; i*j<=n; j++) if(n%(i*j)==0) { int t=2*(i*j+i*(n/(i*j))+j*(n/(i*j))); if(t<min) { min=t; x=i; y=j; } } } } } int main() { int n; cin>>n; f(n); cout<<x<<‘ ‘<<y<<‘ ‘<<n/(x*y)<<endl; return 0; }
时间: 2024-10-31 07:12:41