pku3536--Beer Refrigerator

又一道错了n次

想得太简单

正确代码如下:

 

#include<stdio.h>
#include<math.h>

int main()
{
 int a,b,c=0,a1,b1,c1,v,min;
 int t;

 scanf("%d",&v);
 min=1000000000;
 t=(int)(pow(v,1.0/3))+1;
 for(a=t;a>=1;a--)
 {
  if(v%a==0)
  {
   for(b=(int)(sqrt(v/a));b>0;b--)
    if((v/a)%b==0)
    { c=(v/a)/b;break;}
   if(a*b+b*c+c*a<min)
   {
    min=a*b+b*c+c*a;
    a1=a;b1=b;c1=c;
   }
  }
 }
 printf("%d %d %d\n",a1,b1,c1);
}

 

错误代码如下:

 

#include<stdio.h> #include<math.h> int main() { int a,b,c=0,v; int t;double f; scanf("%d",&v); t=(int)(pow(v,1.0/3))+1; for(a=t;a>=1;a--) { if(v%a==0) { for(b=(int)(sqrt(v/a));b>0;b--) if((v/a)%b==0) { c=(v/a)/b;break;} if(c!=0) break; } } printf("%d %d %d\n",a,b,c); }

你可能感兴趣的:(pku)