这个题虽然看起来挺简单,但是想做好,但需要一定的功夫积累,才会觉得简单,这个是别人的代码,我觉得挺好的,贴过来,算掌握一种思路:
#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循环,搞定三个数!
















