Data_Structure/作業/unit5/DS5.cpp
2025-01-20 21:30:53 +08:00

55 lines
979 B
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
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;
}