题目大意:
已知一个长方体的体积为n,求出使这个长方体的表面积最小时的三条边的长度
解题思路:
暴力遍历即可
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,m;
int fac[100010];
int i,k,j;
int a,b,c,ans;
while(scanf("%d",&n)!=EOF)
{
j=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
{
fac[j++]=i;
}
}
m=j;
ans=0x7fffffff;
for(j=0;j<m;j++)
{
for(k=0;k<m;k++)
{
if(n%(fac[j]*fac[k])==0)
{
for(i=0;i<m;i++)
{
if(n==fac[j]*fac[k]*fac[i]&&
ans>fac[j]*fac[k]+fac[k]*fac[i]+fac[i]*fac[j])
{
ans=fac[j]*fac[k]+fac[k]*fac[i]+fac[i]*fac[j];
a=fac[i];b=fac[j];c=fac[k];
}
}
}
}
}
printf("%d %d %d\n",a,b,c);
}
return 0;
}