油价算法只会越来越高对吗-油价算法只会越来越高对吗

汽车油耗计算公式。

1、方法一:油费除以车辆行驶里程得出每公里油耗,这种方法最简单也最不精准。而用百公里油耗乘以油价除以100得出的每公里燃油费用比较准确。假设一辆车百公里油耗为8升,当前92号油价每升9元,行驶百公里需要油费72元,再将72元除以100公里,得出0.72元即当前这辆车每行驶一公里的燃油费用。日常生活中,每公里燃油费用是随着油价变化而变化的。

2、方法二:车辆先加满油作为初始数据,行驶一段距离后再加满油,以加油站数据为依准。这种方式是将车辆消耗掉的油量除以行驶里程乘以100得出百公里油耗。假设将车辆先加满油,里程表调到零后上路行驶,行驶300公里后进入加油站加油,加满后加油机显示22.5升,按照公式得出该车百公里油耗为7.5L。

3、方法三:计算油耗平均值更科学,假设车辆行驶1万公里,记录这期间各次的加油数据,计算最高油耗和最低油耗的平均值,这个平均值更加科学,非常值得车主采纳。

汽车油耗一百公里8.5升 油价是7.1怎么算

我加过最便宜的油是在山东,2.99元/升,一箱油加满了才不到150,爽的飞起。那几年油价高的时候,8.7元/升,在海南、西藏等地是妥妥地破九了。那咱就取最便宜的油价3元,和最贵的油价9元,分别来算一下你的百公里油耗。

如果油价是3元每升,你100元买了33.3升油,只跑了160公里,那你的百公里油耗就是33.3升/160公里X100=20.8升。接近21升油,你这是油老虎啊,标致现在可以和纳智捷大7媲美了?

如果油价是9元每升,那你100元只买了11.1升油,后面的一样,油耗数字也是前面的三分之一,大概百公里还不到7升。算是比较省油了。

看到区别了吗?只说成本,不提油价,你没办法计算百公里油耗。100元跑160公里,你每公里的油耗成本是100元/160公里=0.625元/公里,再乘以100,就是百公里的油耗成本,就是62.5。成本是成本,油耗是油耗,油耗和钱没关系,只和油有关系我得知道你开160公里烧了多少油

当油价便宜,你用车成本当然就降低了,油价上涨为啥老百姓怨声载道?你油耗没变,每开一百公里用的油没变,钱变了

计算油耗其实很简单,油耗的单位是什么?升/百公里,对吧?把加了多少升油那个数字放前面,除以里程,这是一公里的油耗,再乘以100,就是百公里油耗。

别再说什么我这车可省油了,一箱油跑800公里——你弄个大油箱就完了!照这么说油罐车把油箱和油罐连通,这车才省油呢,估计开几万公里都不是事,只不过你加一次油得好几吨。

另外,说我一公里才三毛钱,五毛钱,这也是外行的说法,你现在一公里三毛,油价5元,油价涨了,变成十元你一公里就6毛了。

那么油耗应该怎么测?

正常测法是先把油箱加满,然后里程表清零或者记录,之后你开一段固定的路程,最好在100公里以上。然后再到一个加油站,再次把油加满。你加进去多少燃油看小票就知道了。跑了多少公里,里程表也记录了,然后用燃油升数除以公里数X100,就是你这次实测的百公里油耗。

当然,一些车评人测试的时候会更加严格一些,比如说都是一次跳枪,都是原路返回(避免上下坡影响,而且是原加油站,原加油机同一把枪,避免误差),最好挑一个风和日丽的天气。(排除风和雨的影响,我们知道下雨天油耗会升高一些)

但是,这样测出的油耗就精确吗?

其实影响油耗表现的因素很多,比如说路况,比如说驾驶习惯,甚至包括油品。

路况因素很简单,你说你车百公里油耗11升,太费油了。一问哪的?北京四环边上,天天早晚高峰在西直门立交桥那堵半个多小时。那油耗能不高吗?11升都是少说。比如说堵车严重,时速1公里蠕行,你开一百公里试试?你一箱油都开不了100公里!时速1公里,开一百公里需要100小时,我都不算汽车往前走,就是100小时怠速油耗也得100升油!

再说驾驶习惯,我们唐车友会出去活动,同样一段路,同样的路况,也是同样的车,这一路我表显油耗8升左右,旁边一个哥们儿11.7个。为啥?远远我看前面红灯,这脚油就不给了,甚至插混车可以提前切换纯电模式,滑行同时动能回收,最后这一百米我零油耗,甚至还能给电池反充点电。这哥们儿开车比较猛,同样的场景依旧踩油门,到了红灯那再给一脚急刹车,他那脚油不就是浪费的吗?

油品也是一样,之前加无铅汽油,现在全面普及乙醇汽油。几乎所有老司机都能感觉到换了乙醇汽油,油耗升高了。哪怕不特意计算也有感觉,过去一箱油能跑600公里,现在只能跑560公里了。毕竟乙醇的热值是低于汽油的,油耗增加也是必然的。另外,一些不规范的小加油站有可能会有类似的问题。

就拿我开的一代唐为例,自媒体说不充电百公里油耗17升,那我开就是6升,听谁的?你堵车原地开空调,别说17升,70升也有可能。大脚油门再急刹车,肯定费油。我6升是在省道上的成绩,你要是让我在市区开,八升差不多,要是上高速,匀速120的话在10升左右。

我认为,油耗应该有一个统一标准。

说一辆车油耗多少,很多自媒体就开一段路,有一段高速,有一段省道快速路,还有一段市区路况——哪怕在同一个加油站,甚至连油枪都是同一个,可仍旧难以避免人为因素的干扰。市区路况堵还是不堵?你驾驶习惯暴力还是柔和?

那两辆车,你怎么比较谁更省油?

最直接的比较方法就是工信部油耗。A车工信部油耗6.4,B车工信部油耗7.1,那肯定A车更省油!如果B车是6.5。其实不一定,因为0.1的油耗不说明问题,100公里才0.1,基本上在误差范围内,只能说两车油耗水平相当。

另外,一辆SUV工信部油耗是7.1升,一辆轿车工信部油耗也是7.1升,实际情况,一定是轿车更省油。因为工信部测试是把车放实验台上模拟运行,是不考虑风阻的。而SUV风阻普遍要比轿车大,所以油耗更高是必然的。

两辆车横向比较,工信部油耗还是很有参考意义的,其实比什么车媒体实测还要更准确一些,但是这个油耗要比实际油耗低得多,标称6.5升的,你实际开在8—9升也都很正常,还是那句话,受路况和驾驶习惯影响太大。

如果说想准确描绘一辆车的实际油耗水平,市区路况没有实际意义,因为我们没办法量化市区拥堵程度。而且越是复杂的路况,越是考验驾驶员的水平。比如说省油,远远看见信号,就会自然调整车速,如果马路上车不多的话,基本上都能控制在到停止线前边绿灯的程度,几乎不用停下来踩刹车。而你新司机走到这刹一脚再踩油门,一里一外油耗差距就大了。

或者未来可以研究一个算法,比如说一辆车从静止到加速到40KM每小时的油耗,弄个什么参数,来代入进去,综合怠速油耗,匀速油耗,减速时是否能能量回收之类的,总之统一一个标准吧。

最具意义的是省道(快速路)的油耗表现。省道路况较好,几乎不用踩刹车,而且限速60—80,也是发动机较为经济的工况区间。省道油耗甚至可以跑得比工信部油耗还低。因为工信部测试的循环中包括模拟市区路段的场景,最高不超过50KM。比如说我的唐,2.2吨省道油耗6.1,这还不是极限测试。车友一代唐跑出过5.2的油耗。省道油耗的意义是你在路上,能跑出的最低油耗,最大可能地排除其他因素的干扰。

其次是高速油耗。和省道油耗相比,因为涉及到了车辆的风阻系数,而且高速也是较为常见的路况,比较起来还是很有实际意义的。以我唐为例,省道油耗为5.2(按照这款车能跑出的最低百公里油耗来计算),我在高速上实测的表现是,匀速120Km,百公里油耗10升,匀速100KM,百公里油耗8升。没错,必须得戴上时速,最好的是匀速。你要是猜到150KM,超速不超速放在一边,油耗肯定更高。因为风阻是和时速的平方成正比的,越快风阻越大。像是一些风阻系数小的轿车,在高速上匀速跑肯定要比SUV省油得多。

现在国内百公里油耗的计算方式和哪些车油耗比较低?

油耗的计算为:油耗x油价/100公里。百公里8.5升,按照7块钱一升来算,那么大概需要?60,也就是说每公里六毛钱左右。

假设油箱红灯亮了去加油,加的是92号汽油,单价是6.2元/L,加满后总共用了300块(这里不讲你油箱多少L)。然后你归零公里数,从0公里开始算,等到下次红灯再亮时去加油。此时车子显示你一共跑了 480公里,加了290元,那么我们就得到数据290元跑了480公里。

百公里油耗,就是290元/480公里=0.6 0.6*100=60 60/6.2(油的单价)=9.67L 。

每公里就是290元/480公里=0.6。

扩展资料

每个人的车型不同,性能不同,油耗自然就会不一样,但是算法都是一样的,只要记住初始里程数和结束里程数,就能够算出自己车辆的油耗,但是往往这个实际油耗会比官方给出的油耗要高出一部分。

因为官方给出的数据都是理想状态的,比如一个驾驶员按照一定速度行驶一百公里的油耗,由于多数车辆在90公里/小时接近经济车速,所以大多数官方给出的油耗都是90公里/小时的百公里油耗,这完全就是理想状态。

百度百科-油耗

我想知道队列算法能干什么

现在的油价一直长,没有停过。很多车主一听油价上涨都是一脸的不开心啊。哈哈。到底汽车的油耗是多少,怎么个算法,我来把我的经验分析一下吧。

油耗是一个很复杂的东西,主要是看车子的性能,还得看车主的驾驶技术来定。百公里油耗的计算包括加速度是多少,开得快耗油稍微低一点点满的话高一点,这是我的个人经验吧。

我个人的经验是这样计算汽车百公里的油耗:从加满油之后开始算起,当汽车跑到油箱告急灯亮起的时侯,看一看汽车一次加油跑了多少公里。比如跑了520公里的话,用50升减15升后得35升,在除5.2,那么你的汽车油耗大约就是6.7L,这个6.7L就是汽车的实际的百公里油耗。计算的不太准确。因为这个东西很复杂只能大致的计算一下。

还有一种计算公式:我们加油之前是多少公里我们把它记下来看成g,我们在加油时是多少公里我们把它看成H,新加满油之后百公里油耗我们把它看成J。实际油耗就=(实际燃油消耗量/行驶里程)X100=100J/(H-g)

具个例子吧:今天加油520元, -20号6.07元每升,跑了820公里

所以G-H=820 公里J=520元/5.07元每升=85.667升

百公里油耗=85.667升/820公里X100=10.44L

这样计算的话就比较精确一点。

我个人觉得国产的话奇瑞的发动机耗油会比较低一点。口碑不错销量也挺高。油耗比较低的车有:奇瑞艾瑞泽5,百公里油耗在5L-6L左右。荣威RX5油耗也很低,百公里油耗在7L-8L。比亚迪的油耗也很低,百公里油耗在7L左右。这些都是油耗很低非常经济的家用汽车,非常适合。

队列是一种先进先出的数据结构,由于这一规则的限制,使得队列有区别于栈等别的数据结构。

作为一种常用的数据结构,同栈一样,是有着丰富的现实背景的。以下是几个典型的例子。

[例5-2] 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1,汽车油箱的容量C(以升为单位),每升汽油能行驶的距离D2,出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离Di,每升汽油价格Pi(i=1,2,……N).

计算结果四舍五入至小数点后两位.

如果无法到达目的地,则输出"No Solution".

样例:

INPUT

D1=275.6 C=11.9 D2=27.4 P=2.8 N=2

油站号I

离出发点的距离Di

每升汽油价格Pi

1

102.0

2.9

2

220.0

2.2

OUTPUT

26.95(该数据表示最小费用)

[问题分析]

看到这道题,许多人都马上判断出穷举是不可行的,因为数据都是以实数的形式给出的.但是,不用穷举,有什么方法是更好的呢 递推是另一条常见的思路,但是具体方法不甚明朗.

既然没有现成的思路可循,那么先分析一下问题不失为一个好办法.由于汽车是由始向终单向开的,我们最大的麻烦就是无法预知汽车以后对汽油的需求及油价变动;换句话说,前面所买的多余的油只有开到后面才会被发觉.

提出问题是解决的开始.为了着手解决遇到的困难,取得最优方案,那就必须做到两点,即只为用过的汽油付钱;并且只买最便宜的油.如果在以后的行程中发现先前的某些油是不必要的,或是买贵了,我们就会说:"还不如当初不买."由这一个想法,我们可以得到某种启示:假设我们在每个站都买了足够多的油,然后在行程中逐步发现哪些油是不必要的,以此修改我们先前的购买计划,节省资金;进一步说,如果把在各个站加上的油标记为不同的类别,我们只要在用时用那些最便宜的油并为它们付钱,其余的油要么是太贵,要么是多余的,在最终的计划中会被排除.要注意的是,这里的便宜是对于某一段路程而言的,而不是全程.

[算法设计]由此,我们得到如下算法:从起点起(包括起点),每到一个站都把油箱加满(终点除外);每经过两站之间的距离,都按照从便宜到贵的顺序使用油箱中的油,并计算花费,因为这是在最优方案下不得不用的油;如果当前站的油价低于油箱中仍保存的油价,则说明以前的购买是不够明智的,其效果一定不如购买当前加油站的油,所以,明智的选择是用本站的油代替以前购买的高价油,留待以后使用,由于我们不是真的开车,也没有为备用的油付过钱,因而这样的反悔是可行的;当我们开到终点时,意味着路上的费用已经得到,此时剩余的油就没有用了,可以忽略.

数据结构采用一个队列:存放由便宜到贵的各种油,一个头指针指向当前应当使用的油(最便宜的油),尾指针指向当前可能被替换的油(最贵的油).在一路用一路补充的过程中同步修改数据,求得最优方案.

注意:每到一站都要将油加满,以确保在有解的情况下能走完全程.并假设出发前油箱里装满了比出发点贵的油,将出发点也看成一站,则程序循环执行换油,用油的操作,直到到达终点站为止.

本题的一个难点在于认识到油箱中油的可更换性,在这里,突破现实生活中的思维模式显得十分重要.

[程序清单]

program ex5_2(input,output);

const max=1000;

type recordtype=record price,content:real end;

var i,j,n,point,tail:longint;

content,change,distance2,money,use:real;

price,distance,consume:array[0..max] of real;

oil:array [0..max] of recordtype;

begin

write('Input DI,C,D2,P:'); readln(distance[0],content,distance2,price[0]);

write('Input N:'); readln(n); distance[n+1]:=distance[0];

for i:=1 to n do

begin

write('Input D[',i,'],','P[',i,']:');

readln(distance[i],price[i])

end;

distance[0]:=0;

for i:=n downto 0 do consume[i]:=(distance[i+1]-distance[i])/distance2;

for i:=0 to n do

if consume[i]>content then

begin writeln('No Solution'); halt end;

money:=0; tail:=1; change:=0;

oil[tail].price:=price[0]*2; oil[tail].content:=content;

for i:=0 to n do

begin

point:=tail;

while (point>=1) and (oil[point].price>=price[i]) do

begin

change:=change+oil[point].content;

point:=point-1

end;

tail:=point+1;

oil[tail].price:=price[i];

oil[tail].content:=change;

use:=consume[i]; point:=1;

while (use>1e-6) and (point=oil[point].content

then begin use:=use-oil[point].content;

money:=money+oil[point].content*oil[point].price;

point:=point+1 end

else begin oil[point].content:=oil[point].content-use;

money:=money+use*oil[point].price;

use:=0 end;

for j:=point to tail do oil[j-point+1]:=oil[j];

tail:=tail-point+1;

change:=consume[i]

end;

writeln(money:0:2)

end.

[例5-3] 分油问题:设有大小不等的3个无刻度的油桶,分别能够存满,X,Y,Z公升油(例如X=80,Y=50,Z=30).初始时,第一个油桶盛满油,第二,三个油桶为空.编程寻找一种最少步骤的分油方式,在某一个油桶上分出targ升油(例如targ=40).若找到解,则将分油方法打印出来;否则打印信息"UNABLE"等字样,表示问题无解.

[问题分析] 这是一个利用队列方法解决分油问题的程序.分油过程中,由于油桶上没有刻度,只能将油桶倒满或者倒空.三个油桶盛满油的总量始终等于开始时的第一个油桶盛满的油量.

[算法设计] 分油程序的算法主要是,每次判断当前油桶是不是可以倒出油,以及其他某个油桶是不是可以倒进油.如果满足以上条件,那么当前油桶的油或全部倒出,或将另一油桶倒满,针对两种不同的情况作不同的处理.

程序中使用一个队列Q,记录每次分油时各个油桶的盛油量和倾倒轨迹有关信息,队列中只记录互不相同的盛油状态(各个油桶的盛油量),如果程序列举出倒油过程的所有不同的盛油状态,经考察全部状态后,未能分出TARG升油的情况,就确定这个倒油问题无解.队列Q通过指针front和rear实现倒油过程的控制.

[程序清单]

program ex5_3(input,output);

const maxn=5000;

type stationtype=array[1..3] of integer;

elementtype=record

station:stationtype;

out,into:1..3;

father:integer

end;

queuetype=array [1..maxn] of elementtype;

var current,born:elementtype;

q:queuetype;

full,w,w1:stationtype;

i,j,k,remain,targ,front,rear:integer;

found:boolean;

procedure addQ(var Q:queuetype;var rear:integer; n:integer; x:elementtype);

begin

if rear=n

then begin writeln('Queue full!'); halt end

else begin rear:=rear+1; Q[rear]:=x end

end;

procedure deleteQ(var Q:queuetype;var front:integer;rear,n:integer;var x:elementtype);

begin

if front=rear

then begin writeln('Queue empty!'); halt end

else begin front:=front+1; x:=Q[front] end

end;

function dup(w:stationtype;rear:integer):boolean;

var i:integer;

begin

i:=1;

while (i<=rear) and ((w[1]q[i].station[1]) or

(w[2]q[i].station[2]) or (w[3]q[i].station[3])) do i:=i+1;

if i0 then

begin

print(q[k].father);

if k>1 then write(q[k].out, ' TO ',q[k].into,' ')

else write(' ':8);

for i:=1 to 3 do write(q[k].station[i]:5);

writeln

end

end;

begin {Main program}

writeln('1: ','2: ','3: ','targ');

readln(full[1],full[2],full[3],targ);

found:=false;

front:=0; rear:=1;

q[1].station[1]:=full[1];

q[1].station[2]:=0;

q[1].station[3]:=0;

q[1].father:=0;

while (front begin

deleteQ(q,front,rear,maxn,current);

w:=current.station;

for i:=1 to 3 do

for j:=1 to 3 do

if (ij) and (w[i]>0) and (w[j]remain

then begin w1[j]:=full[j]; w1[i]:=w[i]-remain end

else begin w1[i]:=0; w1[j]:=w[j]+w[i] end;

if not(dup(w1,rear)) then

begin

born.station:=w1;

born.out:=i;

born.into:=j;

born.father:=front;

addQ(q,rear,maxn,born);

for k:=1 to 3 do

if w1[k]=targ then found:=true

end

end

end;

if not(found)

then writeln('Unable!')

else print(rear)

end.