1

ショッピング カートの商品を梱包するために必要な箱の数を数えるソリューションを見つけています。各製品には、高さ、幅、長さがあります。大きなボックスの寸法は固定されています

//big box size
$max_height = 20;
$max_width = 30;
$max_length = 40;

foreach ($products as $product) {
    $height = $product->height;
    $width = $product->width;
    $length = $product->length;
}

箱詰めの問題だとはわかっていましたが、3dおおよその箱の数を数える簡単な方法は他にありませんか?

4

1 に答える 1

0

元の質問のコメントにある Ingo の解決策は良いものです。ここにその実装があります。

//big box size
$max_height = 20;
$max_width = 30;
$max_length = 40;
$max_volume = $max_height * $max_width * $max_length;

$tot_height = 0;
$tot_width = 0;
$tot_length = 0;

foreach ($products as $product) {
    $tot_height += $product->height;
    $tot_width += $product->width;
    $tot_length += $product->length;
}

$tot_volume = $tot_height * $tot_width * $tot_length;

$boxes_needed = ceil($tot_volume / $max_volume);

実際にこれを現実の世界で使用する場合は、テトリスのグランドマスターでない限り、ボックスのボリュームを完全に埋めるためにすべてが収まる可能性は低いため、追加のボックスを追加することをお勧めします :)

于 2013-03-02T17:58:04.703 に答える