这个题虽然看起来挺简单,但是想做好,但需要一定的功夫积累,才会觉得简单,这个是别人的代码,我觉得挺好的,贴过来,算掌握一种思路:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	//freopen("in.txt","r",stdin);
      int i,j,k,n,m=1000000000;
      int mi,mj,mk;
      cin>>n;
      for(i=1;i<=(int)(sqrt((double)n)+1);++i)
      {
		if(n%i==0)
		{
			for(j=1;j<=n/i;++j)
			{
				k=i*j;
				if(n%k==0)
				{
					k=n/k;
					if(i*j+i*k+j*k<m)
					{
						m=i*j+i*k+j*k;
						mi=i;
						mj=j;
						mk=k;
					}
				}
			}
		}
      }
      cout<<mi<<" "<<mj<<" "<<mk<<endl;
	  return 0;
}

用两个for循环,搞定三个数!