满分就码箱子算法
内容: 
             假设一个托盘:托盘上每层能码放底面积相同、而且数量固定的箱子(如:能码放9个底面积相同的箱子),但是箱子的高度不同。 
             假设有箱子A   12   个   ,箱子B   15个   ,箱子C   36个,每层码放9个箱子。 
             箱子的高度A> B> C,那么第一层码放9个A箱子,第二层码放3个A箱子和6个B箱子,以此类推。 
             每层的高度以最高的箱子为准。(如:第二层有3个A箱子和6个B箱子,那么第二层的高度是A箱子的高度。) 
             求得所有箱子码放在托盘上的高度。 
             求此题算法    
             谢谢各位
------解决方案--------------------Private Sub Command1_Click() 
 Dim A As Long 
 Dim B As Long 
 Dim C As Long 
 Dim Ha As Long 
 Dim Hb As Long 
 Dim Hc As Long 
 Dim H As Long 
 Dim H1 As Long 
 Dim H2 As Long 
 Dim H3 As Long   
     A = 12 
     B = 15 
     C = 36       
     Ha = 10 
     Hb = 8 
     Hc = 6       
     If A Mod 9 = 0 Then 
         H1 = A \ 9 * Ha 
     Else 
         H1 = (A \ 9 + 1) * Ha 
     End If       
     B = B - A Mod 9 
     If B Mod 9 = 0 Or B  < 0 Then 
         H2 = B \ 9 * Hb 
     Else 
         H2 = (B \ 9 + 1) * Hb 
     End If       
     If B  < 0 Then 
         C = C - A Mod 9 - B 
     Else 
         C = C - B Mod 9 
     End If       
     If C Mod 9 = 0 Or C  < 0 Then 
         H3 = C \ 9 * Hc 
     Else 
         H3 = (C \ 9 + 1) * Hc 
     End If       
     H = H1 + H2 + H3       
     Print H  '电脑计算等于60       
 End Sub
------解决方案--------------------没看懂你的意思.
------解决方案--------------------public class Untitled1 { 
   private  int A=12; 
   private  int B=15; 
   private  int C=36; 
   private  int D=9; 
  private static final int ha=3; 
  private static final int hb=2; 
  private static final int hc=1; 
   public int suanfa() 
   { 
        int h_box=0;//定义高度 
        int w_box=9;//定义地面 
        while(A> 0) 
        { 
          if (w_box> 0) { 
            A--; //本层没有满 继续加 
            w_box--; 
          }   
          else { 
                h_box += ha; 
                w_box = 9; //本层已经满 换上层 
            } 
        } 
        if(A==0&&w_box%9!=0) 
       { h_box += ha; 
         B = B - w_box; 
       w_box=9; 
       } 
   else if(A==0&&w_box%9==0) 
     { 
     h_box += ha; 
     w_box=9;   
     }//a结束 
         while (B >  0) { 
           if (w_box != 0) { 
             B--; //本层没有满 继续加 
             w_box--; 
           }   
           else { 
             h_box += hb; 
             w_box = 9; //本层已经满 换上层 
           }   
       }  if(B==0&&w_box%9!=0){ 
    h_box += hb; 
         C=C-w_box; 
        w_box=9;} 
      else if(B==0&&w_box%9==0) 
   { 
   h_box += ha; 
   w_box=9;   
   }   
    while(C> 0) 
 { 
 if (w_box> 0) { 
 C--; //本层没有满 继续加 
         w_box--;   
 }   
   else if (A==0&&B==0&&C==0&&w_box % 9 != 0) 
   { 
       h_box += hc; 
   } 
   else  { 
     h_box += hc; 
     w_box = 9; 
 }   
 }     
 return(h_box);     
   }   
    public static void main(String[] args) { 
      int i=0; 
      Untitled1 u=new Untitled1(); 
      i=u.suanfa(); 
      System.out.print(i); 
   } 
 } 
 大概写了一个  运行结果12