获得递归材料成本(物料清单)

时间:2014-08-05 15:22:05

标签: recursion

我正在尝试编写一个程序来计算生产中物料的总物料成本。 到目前为止,我发现递归算法可能是最好的方法。虽然我在学校学到了这些知识,但我们总是在任何实际工作中都避免使用它们。

举个例子,这必须做:

1 Kitchen requires 1 Table and 2 Chairs
1 Chair requires 4 Legs
1 Table requires 4 Legs and 1 Plate

因此,1厨房需要12个腿和1个板(桌子和椅子应省略,因为它们是中间产品)

但是,我似乎无法理解如何实际编写递归函数。

注意:如果您认为此问题对社区无效或质量不佳,请对可以改善此问题的内容发表评论。

1 个答案:

答案 0 :(得分:2)

我对伪代码不熟悉,我不确定你熟悉哪种编程语言。因此我尝试以代码形式回答它。

递归方法:CollectRawProduct(Product)

CollectRawProduct(Product product) {
    if (product has subProducts) {
        for ( subProduct : subProducts ) { // iterates the sub products
            CollectRawProduct( subProduct ); // visit subproduct
        }
    } else {
        rawProductList.add(product) // add to a raw product list
    }
}

原始产品清单将包含原始产品,例如您的案例4条腿一块板。