程序需要优化最低成本

时间:2013-03-12 21:17:29

标签: c

以下是问题:

成本分析是工程的重要组成部分。当您在实践中时,可能会要求您编写程序以确定许多不同潜在情况的最低成本。您的程序可以用作项目的决策制定工具。

考虑建造一个机场,跑道建在垃圾填埋场上。承包商有两辆自卸卡车,一辆载重量为8吨,另一辆载重量为12吨。承包商使用卡车从远程站点运送到机场位置。 8吨和12吨卡车的每趟运行成本分别为14.57美元和16.26美元。一辆卡车不能超过总行程的60%。

编写一个程序,开发给定吨数的最低成本。提示用户输入总吨数。显示每辆卡车所需的行程次数和总成本。为该程序使用模块化设计。

以下是我的尝试:

#include <stdio.h>

int main (void)
{
    double mass, sixtyPercentMass;
    int eightCount = 0, twelveCount = 0;

    printf("Enter the number of tons: ");
    scanf("%lf", &mass);
    sixtyPercentMass = 0.6 * mass;

    while((twelveCount*12) < sixtyPercentMass) {
        twelveCount++;
    }
    while((eightCount*8) < (mass - sixtyPercentMass)) {
        eightCount++;
    }

    printf("Total trips required: %d\n", (twelveCount+eightCount));
    printf("Number of 12-ton trucks required: %d\n", twelveCount);
    printf("Number of 8-ton trucks required: %d\n", eightCount);
    printf("Total cost: $%lf", (twelveCount*16.26 + eightCount*14.57));
    return 0;
}

问题:

  1. 我如何解释在卡车上浪费空间? 目前,如果剩下1个,那就浪费了整辆卡车。使用符合要求质量的卡车实际上会更便宜。

  2. 如何正确地完成总行程的60%阈值?
    它目前仅占质量的60%。

  3. 伪代码或正确方向上的步骤对于所需的逻辑是有帮助的。

1 个答案:

答案 0 :(得分:0)

首先,您需要将问题从程序中分离出来。尝试一步解决这两个问题时,您会发现问题需要什么,因为您正在处理将问题作为软件运行所需的内容。

为了优化最小数量的卡车,您应该想出一种确保不使用不需要的卡车的方法。一种方法是尝试使用最大数量的最小卡车,并通过更换较大的卡车来“减少”解决方案。另一种方法是使用最大的卡车,然后检查部分满载的卡车,可用小卡车代替。

然而,您解决了这个问题,它不需要计算机来解决问题。一旦你可以在没有计算机的情况下在某种程度上解决问题(即使方案只在你脑海中),那么你可以开始编写一个程序来完成实现解决方案所需的任务。

从写作作为第一步开始非常像通过开始切割和锤击木头来建造房屋,然后想知道如何在没有外部门,厨房,墙壁电源线的情况下进食等等。

相关问题