把边长为1的小正方体堆积为长方体,使得到的长方体表面积最小
#include <iostream>
using namespace std;
int main()
{
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
int i,j=1,k=1;
int ans=0xfffffff,s=0;
for(i=1;i<=n;i++){
if(n%i==0){
int tmp=n/i;
for(j=i;j<=tmp;j++){
if(tmp%j==0){
k=tmp/j;
s=(i*j+i*k+j*k)<<1;
ans=(ans<s)?ans:s;
}
}
}
}
printf("%d\n",ans);
}
return 0;
}