c·c++/c 프로그래밍
직육면체의 표면적 최소화하기
바로이순간
2013. 4. 16. 23:21
#include <stdio.h>
#include <math.h>
int main() {
int n,a,b,c,mina,minb,minc,s,s1;
int max=2000000000;
s=max;
do {
printf("입력: ");
scanf("%d", &n);
} while (n<1 || n>max);
for(a=1;a<=n;a++) {
if(n%a>0) continue;
for(b=1;b<=n/a;b++) {
if((n/a)%b>0) continue;
c=(n/a)/b;
if(s>(a*b+a*c+b*c)) {
mina=a;
minb=b;
minc=c;
s=a*b+a*c+b*c;
}
}
}
printf("a=%d b=%d c=%d s=%d\n", mina,minb, minc, 2*s);
return 0;
}