小弟最近有一难题如下,有一产品为一块墙,由若干固定尺寸的墙板组成,墙板的规格有限,有500mm、700mm、800mm、900mm(规格指宽度,高度固定2200mm)要用四种规格的墙板去拼一块宽度指定的墙。
要求:
1、尽量做到能够达到指定的宽度,但余出的墙板最少,最好为零
2、墙板数量尽量的少
如比有一个2800mm的墙,则就用700mm+700mm+700mm+700mm的方式拼结,因为这样的拼,没有多余的墙板,而且只用了四块墙板,各位老大帮帮忙
在线等啊

解决方案 »

  1.   

    function dd(len as double)
        do while len>2000 
             len=len-900
        loop
        select case len
            case 500
            case 
                 .... 
        end select    
    end function
    考虑简单点就行了吧
    如比有一个2800mm的墙,则就用700mm+700mm+700mm+700mm的方式拼结,因为这样的拼,没有多余的墙板,而且只用了四块墙板,
    ------------------
    该算法就是900mm+900mm+500mm+500mm