沙漠穿越问题_c语言课程设计
课 程 设 计 报 告
学院、系:吉林大学珠海学院计算机科学与技术系专业名称:计算机科学与技术课程设计科目C语言程序课程设计所在班级:学生学号:学生姓名:指导教师:李昱完成时间:2012年4月15日
穿越沙漠问题
一、设计任务与目标
穿越沙漠问题:一辆吉普车穿越1000公里的沙漠,吉普车的总装耗油量为500加仑,耗油率为每小时1加仑。由于沙漠中没有油库,必须先用这辆车在沙漠中建立临时油库。
请编程求解,若让吉普车用最少的耗油量穿越沙漠,应该在那些地方建立临时油库,在每个临时油库存储的油量应该是多少。
具体要求如下;
(1) 运行程序后直接输出结果;
(2) 显示输出界面;
(3) 分条显示结果。
二、方案设计与论证
穿越沙漠问题,是一个极值问题。为达到让吉普车用最少的耗油量穿越沙漠,则说明该问题只有唯一解。而从问题中我们可以看出,显然吉普车是不能一次就穿越沙漠的,需要采取推进的方法,也就是在沙漠中前进一定的距离后就要建立临时油库为接下的路程做准备。而我们从题目中可以知道最基本的信息,比如必须要走奇数次,这样才能确保最后到达终点方向。然而我们又要保持效率,就要满足向终点时要满载和每个储油点都要储油点需要的和路上消耗的油量。
而针对这个问题,我们可以采取倒推的方法进行求解,从终点往起点推,然后记录每个储油点的位置和储油量。而相反,正推是不可能的,因为我们不知道第一个储油点与起点的距离,但却可以知道最后一个储油点与终点