#include #include #include int count_num = 0 , count = 1 , temp ; int calculate(int i ,int count_num, int num ){ int a = 0; if(num>=i) { num -= i; count_num++; }else if(num!=0){ count_num++; printf("\n最小包擺\裝紙面積 = %d\n",(count_num+i+temp)*2*100); printf("\n包裝方式為擺\放若干排:\n\n"); printf("第%d排,擺\%d個\n",count,i); count++; a = num; return a; }else{ printf("\n最小包擺\裝紙面積 = %d\n",(count_num+i+temp)*2*100); printf("\n包裝方式為放若干排\n\n"); a = num; return a; } a = calculate(i,count_num,num); if(num != temp - i || temp%i==0){ printf("第%d排,擺\%d個\n",count,i); }else { printf("第%d排,擺\%d個\n",count,a); } count++; return a; } int main(){ int num ,i=0; printf("*** 最小包裝面積之郵寄包過程式 ***\n\n輸入糖磚數 ==> "); scanf("%d",&num); if(num<=0){ printf("\n輸入錯誤"); return 0; } i = sqrt(num); temp = num ; calculate(i,count_num,num); return 0; }