我正在尝试编写一个程序来计算生产中物料的总物料成本。 到目前为止,我发现递归算法可能是最好的方法。虽然我在学校学到了这些知识,但我们总是在任何实际工作中都避免使用它们。
举个例子,这必须做:
1 Kitchen requires 1 Table and 2 Chairs
1 Chair requires 4 Legs
1 Table requires 4 Legs and 1 Plate
因此,1厨房需要12个腿和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条腿一块板。