热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[请教][C编程问题]1000KM路程,车只能装500L油(1L油跑1KM),用这辆车建立临时加油站的问题

详细问题描述如下:有一辆吉普车要穿越一个沙漠,路程是1000KM,但是这辆车最高只能携带500L的油(1L油跑1KM)。由于沙漠中没有加油站,于是先要用这辆车在沙漠中建立临时加油站。
详细问题描述如下: 

有一辆吉普车要穿越一个沙漠,路程是1000KM,但是这辆车最高只能携带500L的油(1L油跑1KM)。由于沙漠中没有加油站,于是先要用这辆车在沙漠中建立临时加油站。 

请问,要在什么地方建立临时加油站?每个临时加油站要存多少油才能使吉普车穿越沙漠“所消耗的油最少”?最少消耗多少L油? 

如何用C语言程序实现? 

敬请前辈给出“解题思路”以及“源码”~谢谢~ :) 

10 个解决方案

#1


UP SF

#2


这个题目csdn曾经出现过,你搜索一下吧

#3


这种题目 倒着推算就很容易了

#4


up

#5


最后到终点肯定是刚到终点的时候油就没有了
那么在离终点500KM远的地方有一个加油站

考虑这个加油站,到达这个加油站的时候车上剩的油 + 这个加油站里的油 = 500L
再前面一个加油站 到这个加油站的时候车上剩的油 + 这个加油站里的油  - 这个加油站到上面加油站的路程 = 到下一个加油站剩的油

...

第一个加油站 车上油为0 加油站里的油为无穷大

还有条件 就是第二个加油站里的油量 = 500 - 第一个加油站的距离 * 2 > 0
        第三个加油站里的油量 = 500 + 第二个加油站里的油量- 第三个加油站到第一个加油站的距离*2 > 0

再分析一下就OK

#6


http://topic.csdn.net/t/20030304/17/1490855.html

#7


吉普车穿越沙漠问题

一、问题

一辆吉普车来到1000km宽的沙漠边沿。吉普车的耗油量为1L/km,总装油量为500L。显然,吉普车必须用自身油箱中的油在沙漠中设几个临时加油点,否则是通不过沙漠的。假设在沙漠边沿有充足的汽油可供使用,那么吉普车应在哪些地方、建多大的临的加油点,才能以最少的油耗穿过这块沙漠?

二、问题分析

本题是一个极值问题,要求具有最小的油耗。因此,它的解是唯一的。吉普车在沙漠中建临时油库,是逐步向前推进的,即建好一个油库后,再建下一个油库。为使油耗最小应做到:

(1)每次吉普车出发时都应满载,放下一部分油再返回时,油恰好用完,并且把下一    个油库建好后这个油库中的油恰好用完。所以每个点的油库中的油都应是吉普车装油量的整数倍(因为出发时满载),即500Xk(k为正整数),并且每个点的存油量为下一个点的存油量及吉普车为建立下个油库在两点之间往返的油耗之和 (下一个油库建成,前一个油库中的油恰好用完)。

(2)吉普车为建立下一个油库运油次数应最少。

用递推法解这个题,可由一个点的存油量推出相邻的另一个点的存油量及两点之    间的距离。但正推是不可能的,因为第一个点的存油量及其距A的距离尚无法确定。但是可推得最后一个点Cl的存油量应为500L,它与B相距为500km,这样吉普车从Cl到达B恰好跑一趟B。递推必须由已知的初始条件开始。为此本题应使用倒推法。图2-7为这一倒推过程的示意图。图中A为起始点,B为终点,C1,

    C1,…,Cn分别为倒数第1,2,…,n个临时油库点。











由于B点无需储油,吉普车只须从Cl到达B即可,所以C1点的存油量应为500L,C1到B的距离为500km。为向Cl送500L油,吉普车最少要满载出发两次(若一趟,因途中要耗油而不可能),往返共三程(应为奇数)。考虑最少油耗,C:点应存油2'500L。由此可得如下关系:

    v2=3*x2+500=2*500

    x2=500/3

    C:距B的路程为:

    d2=dl+x2=500+500/3=(1+1/3)*500

为向C:送1000L油,吉普车最少要满载出发3次,往返共5趟。考虑最少油耗,C,点应存油3*500L。由此可得:

    v3=5*x3+v2=3*500

    x3=500/5

    d3=d2+x3=(1+1/3+1/5)*500

同理可知,对倒数第i个点有:   

    Vi=(2*i-1)Xi+Vi-1=i*500    —

    Xi=500/(2*i—1)    :

    Di=di-1+xi=(1+1/3+1/5+…1/(2*i-1))*500

    递推到di≥1000时结束。当di≥1000时,Ci-1就是倒数最后一个油库点。它距A的距离为1000—di-l。

#8


引用 3 楼 yecheng_110 的回复:
这种题目 倒着推算就很容易了

#9


up

#10


感谢7楼 lights_joy 前辈的详细赐教~ :)

推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
author-avatar
年少不轻易谈情
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有